当前位置: 首页 > news >正文

【Python练习】039. 编写一个函数,反转一个单链表

039. 编写一个函数,反转一个单链表

  • 039. 编写一个函数,反转一个单链表
    • 方法 1:迭代实现
      • 运行结果
      • 代码解释
    • 方法 2:递归实现
      • 运行结果
      • 代码解释
    • 选择方法
      • 迭代法与递归法的区别

039. 编写一个函数,反转一个单链表

在 Python 中,可以通过迭代或递归的方式反转一个单链表。

方法 1:迭代实现

迭代方法通过逐个反转链表中的节点来实现反转。以下是迭代实现的代码:

class ListNode:"""定义链表的节点类。"""def __init__(self, value=0, next=None):self.value = valueself.next = nextdef reverse_linked_list(head):"""使用迭代方法反转单链表。参数:head (ListNode): 链表的头节点。返回:ListNode: 反转后的链表的头节点。"""prev = None  # 初始化前一个节点为 Nonecurrent = head  # 当前节点从头节点开始while current:next_node = current.next  # 保存下一个节点current.next = prev  # 反转当前节点的指针prev = current  # 前一个节点向前移动current = next_node  # 当前节点向前移动return prev  # 返回新的头节点# 测试代码
# 创建一个链表:1 -> 2 -> 3 -> 4
node1 = ListNode(1)
node2 = ListNode(2)
node3 = ListNode(</
http://www.dtcms.com/a/276544.html

相关文章:

  • CSP-S 模拟赛 10
  • pytest自动化测试框架实战
  • 【王树森推荐系统】行为序列01:用户历史行为序列建模
  • Java责任链模式实现方式与测试方法
  • Python爬虫实战:研究xlwt 和 xlrd 库相关技术
  • 【理念●体系】迁移复现篇:打造可复制、可复原的 AI 项目开发环境k
  • 笔试题库 | 亿纬锂能社招大易笔试测评题库考点分析及真题整理
  • 张量拼接操作
  • 【IT-Infra】从ITIL到CMDB,配置管理,资产管理,物理机与设备管理(含Infra系列说明)
  • QML与C++相互调用函数并获得返回值
  • 2025 年 4-6 月大模型备案情况分析
  • [ABC267F] Exactly K Steps
  • 部署项目频繁掉线-----Java 进程在云服务器内存不足被 OOM Killer 频繁杀死-----如何解决?
  • python正则表达式re(Regular Expression)
  • 【代码随想录】刷题笔记——哈希表篇
  • 【人工智能】AI Agent 工作流及产品介绍
  • 傅里叶方法求解正方形区域拉普拉斯方程
  • 2025 年第十五届 APMCM 亚太地区大学生数学建模竞赛-B 题 疾病的预测与大数据分析 成品
  • 阻有形,容无声——STA 签核之RC Corner
  • docker—— harbor私有仓库部署管理
  • 在LC480T上部署xapp1052
  • OSPF五类LSA之FA实验案例解析
  • promise 如何实现红绿黄灯亮
  • BGP 路由优选属性(7)【MED】官方考试综合实验题【bgp】【acl】【ip-prefix】【route-policy】【icmp 环路】精讲
  • 基于同花顺API的熊市与牛市识别模型开发及因子分析
  • CCS-MSPM0G3507-2-基础篇-定时器中断
  • Linux如何设置自启动程序?
  • 复现永恒之蓝
  • LINUX文件系统权限,命令解释器alias,文件查看和查找
  • frp内网穿透教程及相关配置