python中如何用递归与迭代方法实现链表反转
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要讲解了"python中如何用递归与迭代方法实现链表反转",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"python中如何用递归与迭代方法实现
千家信息网最后更新 2026年11月02日python中如何用递归与迭代方法实现链表反转
这篇文章主要讲解了"python中如何用递归与迭代方法实现链表反转",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"python中如何用递归与迭代方法实现链表反转"吧!
定义链表node结构:
class ListNode: def __init__(self,data): self.data = data self.next = None
将L转化为链表:
def make_list(L):
将L初始化为链表:
head = ListNode(L[0]) cur = head for i in L[1:]: cur.next = ListNode(i) cur = cur.next return head
遍历链表:
def print_list(head): cur = head while cur != None: print(cur.data,end=' ') cur = cur.next
递归法 反转链表:
def reverse_list(head):
三要素:
1.明确函数功能,该函数可以将链表反转,并返回一个头节点
2.结束条件:当链表为空或只有一个节点时返回
if head==None or head.next==None: return head
3.等价条件(缩小范围),对于数组来讲,缩小范围是n——>n-1,对于链表来讲则可以考虑
head——
>head.next reverse = reverse_list(head.next) #假设reverse是head以后的、已经反转过的链表
接下来要做的是将head节点接到已经反转过的reverse上:
tmp = head.next tmp.next = head head.next = None return reverse #返回新的列表
迭代法:
def reverse_list2(head): #print_list(head) cur = head pre = None while cur: tmp = cur.next cur.next = pre pre = cur cur = tmp head = pre return head if __name__ == '__main__': L = [3,2,7,8] head = make_list(L)
正序打印:
print('原始list:') print_list(head) print('\n')反转后打印:
revere = reverse_list(head) print('反转一次的list:') print_list(revere) print('\n')反转2:
print('head is') print_list(head) #发现此时head节点变成了最后一个节点,说明函数是对head这个实例直接作用的 print('\n') # print('revere is') # print_list(revere) # print('\n') print('反转两次的list:') print_list(reverse_list2(revere))感谢各位的阅读,以上就是"python中如何用递归与迭代方法实现链表反转"的内容了,经过本文的学习后,相信大家对python中如何用递归与迭代方法实现链表反转这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
递归
迭代
节点
方法
函数
学习
内容
条件
范围
原始
接下来
个头
作用
功能
只有
实例
就是
思路
情况
数组
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中智农互联网科技
互联网巨头反垄断金融科技
金融科技创新监管互联网金融
科技制造互联网公司
西安互联网科技
以房互联网科技
杭州互联网科技公司
广州宏创互联网科技
美国互联网黑科技
卓越科技互联网 招聘
太原新华互联网科技学校怎么样
中国最先进互联网科技公司
互联网教育科技公司vipkid
广西互联网科技孵化中心
中国科技创新与世界互联网大会
互联网科技融合创新
九思连强互联网电子科技有限公司
世界互联网科技成果奖
互联网科技职业技能培训学校
第三届互联网大会安防黑科技
有马互联网科技
有木互联网科技
润盈互联网科技
上海万想互联网科技
互联网科技素材视频竖屏
四个字互联网科技公司取名
科技大学互联网专业好不好
赶超互联网科技 微信多开
全球科技与互联网公司市值变化
科技互联网专业工作会议发言稿