这篇文章主要为大家详细介绍了python 单链表翻转的简单示例,具有一定的参考价值,可以用来参考一下。

感兴趣python 单链表翻转的简单示例的小伙伴,下面一起跟随512笔记的小编罗X来看看吧。

# 512笔记网 (www.512pic.com)

#!/usr/bin/env python

#coding = utf-8

class Node:

def __init__(self,data=None,next = None):

self.data = data

self.next = next

def rev(link):

pre = link

cur = link.next

pre.next = None

while cur:

temp = cur.next

cur.next = pre

pre =cur

cur = temp

return pre

if __name__ == '__main__':

link = Node(1, Node(2, Node(3, Node(4, Node(5, Node(6, Node(7, Node(8, Node(9)))))))))

root = rev(link)

while root:

print(root.data)

root =root.next

# End 512.笔记 www.512pic.com

解释一下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做好了准备

注:关于python 单链表翻转的简单示例的内容就先介绍到这里,更多相关文章的可以留意512笔记的其他信息。

关键词:单链表

您可能感兴趣的文章

python链表逆序实例_python 单链表翻转的简单示例相关推荐

  1. 链表逆序 递归 java_将链表逆序(递归方式)

    namespace ShopEx.CRS.Test { /// ///将链表逆序 /// public class ReverseLinkList { //入口 public static void ...

  2. 单链表的逆序java_java 实现单链表的逆序

    package com.ckw.mianshi; /** * java 实现单链表的逆序 * @author Administrator * */ public class SingleLinkedR ...

  3. python链表删除尾部节点_python单链表中如何查找和删除节点?

    在之前的文章[python单链表中如何插入和输出节点?]中给大家介绍了单链表是什么,以及如何进行添加节点.输出所以节点.下面本篇文章给大家介绍如何查找和删除节点,希望对大家有所帮助. 如何从单链表中查 ...

  4. python列表逆序输出_Python 让列表逆序排列的 3 种方式

    让列表逆序排列是我们编程时常碰到的问题,比如现在有一些客户的姓名是将拼音的首字母按 A - Z 排列的,而你现在想找一个姓张( Z )的客户,你就有了将姓名逆序排列的需求了.而在 Python 中,将 ...

  5. python占位符补数据_Python 占位符格式化的简单示例

    这篇文章主要为大家详细介绍了Python 占位符格式化的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 占位符 ...

  6. python语言逆序符号_python的逆序

    下面的代码片段可以帮助您完成最后一个任务. 如果在字符串的开始或结尾之外的其他地方发现了特殊字符,则对于子集的恢复没有特殊处理.在# Special chars which should be ign ...

  7. 单链表逆序输出(递归)

    将单链表逆序输出 对于单链表逆序输出不改变链表结构可以考虑使用递归实现. 递归输出的主要思路为:先输出除当前节点外的后继子链表,然后输出当前结点.假如链表为:1->2->3->4-& ...

  8. c语言将一个已知头结点的单链表逆序_C语言实现单链表逆序与逆序输出实例

    单链表的逆序输出分为两种情况,一种是只逆序输出,实际上不逆序:另一种是把链表逆序.本文就分别实例讲述一下两种方法.具体如下: 1.逆序输出 实例代码如下: #include #include #inc ...

  9. c语言将一个已知头结点的单链表逆序_C语言数据结构实现链表逆序并输出

    C语言数据结构实现链表逆序并输出 将一个链表逆序并输出.我用了两种方法来实现,第一种是借助了一个新的空链表:第二种是在原来链表的基础上直接实现逆序. 实例代码: 头文件: #include #incl ...

  10. python单向链表逆序_链表逆序-Python实现

    题目描述: 给定一个带头节点的单链表,将其逆序.即如果单链表原来为head->1->2->3->4->5->6->7,那么逆序后变为head->7-&g ...

最新文章

  1. 【正一专栏】瓜迪奥拉就是一座无可匹及的丰碑
  2. softmax函数为什么叫softmax?
  3. mac支持NVDANV顯卡型號持列表
  4. fiddler设置https抓包
  5. Effeckt.css – CSS3 Transitions Animations 精妙应用
  6. 工业机器人(10)-Matlab Robot Toolbox机械臂工作空间
  7. webots离线网页无法跳转
  8. 作为一个开发者,我创业了
  9. Kinect 3D视频捕捉
  10. 海龟作图python等边三角形_python 海龟作图
  11. 学生信息管理系统(C语言,带文件操作)
  12. pc弹窗宽度_弹窗设计的5条原则
  13. HDU 5755 Gambler Bo(数论)
  14. 主板前置音频线接法几例(转)
  15. 布局与控件(七)-ListView知多少(上)
  16. 语法分析器(c++)
  17. 【Codecs系列】HEVC中三种Intra帧类型的区别:BLA/IDR/CRA
  18. 思岚激光建图传感器slamtec Mapper使用便捷性测评
  19. 【网络安全】渗透工程师面试题总结大全
  20. 一个 70 后运维老兵的 Elastic 认证工程师之路

热门文章

  1. 参加香港亚洲秋季电子展经验点滴拾遗
  2. 12.看板方法---度量和管理报告
  3. 12.Linux/Unix 系统编程手册(上) -- 系统和进程信息
  4. 13.xsi:schemaLocation详解
  5. 4. Phpstorm svn
  6. 9. CSS 背景属性
  7. 【专家访谈】测试专家 - 陈林钧 访谈记录整理汇总
  8. RabbitMQ实战:理解消息通信
  9. SOAP、WSDL、 UDDI之间的关系
  10. 3D打印产业链全景图