python如何实现单链表的反转

作者:xushukui 时间:2023-05-11 12:44:10 

这篇文章主要介绍了python如何实现单链表的反转,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

代码如下


# coding=utf-8
class Node:
 def __init__(self, data=None, next=None):
   self.data = data
   self.next = next

def Reserver(link):
 pre = link
 cur = link.next
 pre.next = None
 while cur:
   tmp = cur.next
   cur.next = pre
   pre = cur
   cur = tmp
 return pre

if __name__ == "__main__":
 node = Node(1, Node(2, Node(3, Node(4, Node(5, Node(6, Node(7, Node(8, Node(9)))))))))
 root = Reserver(node)

while root:
   print root.data,
   root = root.next

解释一下rev函数的实现过程:

line 9-11是将原链表的第一个节点变成了新链表的最后一个节点,同时将原链表的第二个节点保存在cur中

line13-16就是从原链表的第二个节点开始遍历到最后一个节点,将所有节点翻转一遍

以翻转第二个节点为例

temp = cur.next是将cur的下一个节点保存在temp中,也就是第节点3,因为翻转后,节点2的下一个节点变成了节点1,原先节点2和节点3之间的连接断开,通过节点2就找不到节点3了,因此需要保存

cur.next = pre就是将节点2的下一个节点指向了节点1

然后pre向后移动到原先cur的位置,cur也向后移动一个节点,也就是pre = cur ,cur =temp

这就为翻转节点3做好了准备

来源:https://www.cnblogs.com/nyist-xsk/p/11719739.html

标签:python,单链表,反转
0
投稿

猜你喜欢

  • HTTP提交方式之PUT详细介绍及POST和PUT的区别

    2022-08-21 16:23:44
  • Django REST框架创建一个简单的Api实例讲解

    2023-04-28 01:02:40
  • Python中使用subprocess库创建附加进程

    2022-01-01 06:30:25
  • python中使用百度音乐搜索的api下载指定歌曲的lrc歌词

    2023-06-14 06:23:07
  • javascript 获取中文字符串长度

    2009-10-18 12:06:00
  • mysql日志文件General_log和Binlog开启及详解

    2024-01-17 08:20:44
  • ASP中取得图片宽度和高度的类

    2008-10-29 12:38:00
  • python解决Fedora解压zip时中文乱码的方法

    2021-06-02 09:23:09
  • Python实现直播推流效果

    2023-10-06 12:43:29
  • Django查找网站项目根目录和对正则表达式的支持

    2023-04-09 15:50:37
  • python网络爬虫实战

    2021-04-16 13:31:07
  • golang切片原理详细解析

    2024-04-29 13:06:35
  • Python Mysql数据库操作 Perl操作Mysql数据库

    2024-01-20 11:07:43
  • asp数组使用特法

    2009-05-11 12:43:00
  • python的time模块和datetime模块实例解析

    2023-11-13 09:54:56
  • Python批量生成幻影坦克图片实例代码

    2021-04-17 03:16:17
  • python获取点击的坐标画图形的方法

    2023-04-23 09:59:28
  • 非集成环境的php运行环境(Apache配置、Mysql)搭建安装图文教程

    2023-07-21 16:21:41
  • Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法

    2022-01-05 22:02:07
  • 分享下GET和POST的真正区别

    2023-10-19 23:23:09
  • asp之家 网络编程 m.aspxhome.com