python如何实现单链表的反转

 更新时间:2020年02月10日 10:52:45   作者:xushukui  
这篇文章主要介绍了python如何实现单链表的反转,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了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做好了准备

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 基于PyQt5制作一个截图翻译工具

    基于PyQt5制作一个截图翻译工具

    这篇文章主要为大家介绍了如何利用PyQt5制作一个简单的截图翻译工具,具有截图功能、翻译功能和文字识别OCR,需要的可以参考一下
    2022-05-05
  • Python 自动化修改word的案例

    Python 自动化修改word的案例

    这篇文章主要介绍了Python 自动化修改word的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • python程序中调用其他程序的实现

    python程序中调用其他程序的实现

    本文主要介绍了python程序中调用其他程序的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • 玩转Python图像处理之二值图像腐蚀详解

    玩转Python图像处理之二值图像腐蚀详解

    这篇文章主要给大家介绍了关于Python图像处理之二值图像腐蚀的相关资料,对原图进行二值化后,选择不同的结构元素对其进行膨胀和腐蚀运算处理,并仿真出图像结果,需要的朋友可以参考下
    2021-09-09
  • QML用PathView实现轮播图

    QML用PathView实现轮播图

    这篇文章主要为大家详细介绍了QML用PathView实现轮播图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • Django中如何防范CSRF跨站点请求伪造攻击的实现

    Django中如何防范CSRF跨站点请求伪造攻击的实现

    这篇文章主要介绍了Django中如何防范CSRF跨站点请求伪造攻击的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Flask缓存静态文件的具体方法

    Flask缓存静态文件的具体方法

    在本篇文章中小编给大家整理的是一篇关于Flask缓存静态文件的具体方法,有需要的朋友们可以参考下。
    2020-08-08
  • Django用户注册并自动关联到某数据表条目的实现步骤

    Django用户注册并自动关联到某数据表条目的实现步骤

    当一个新用户注册并且你想要自动关联到特定的Box条目(假设其ID为1)时,下面给大家分享完整实现流程和步骤,对Django关联数据表条目实现代码感兴趣的朋友跟随小编一起看看吧
    2017-04-04
  • python中字典的常见操作总结1

    python中字典的常见操作总结1

    这篇文章主要介绍了python中字典的常见操作总结,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • 关于你不想知道的所有Python3 unicode特性

    关于你不想知道的所有Python3 unicode特性

    我的读者知道我是一个喜欢痛骂Python3 unicode的人。这次也不例外。我将会告诉你用unicode有多痛苦和为什么我不能闭嘴。我花了两周时间研究Python3,我需要发泄我的失望。在这些责骂中,仍然有有用的信息,因为它教我们如何来处理Python3。如果没有被我烦到,就读一读吧
    2014-11-11

最新评论