欢迎来到资源库(www.zyku.net)

Python教程

当前位置:首页 > 网络编程 > Python教程 > 单向链表

Python 实现单向链表,和单向链表的反转

时间:2021-03-27|栏目:Python教程|点击:|我要投稿

链表的定义

链表中的每个节点会存储相邻节点的位置信息,单链表中的每个节点只存储下一关节点的位置信息

单向链表的实现

class ListNode:
    def __init__(self, val):
        self.val = val
        self.next = None

要实现单向链表只需要把几个节点关联起来就可以了,把一个节点的next设置为另一个节点就可以了,例如创建一个A->B->C 的单向链表可以这么写:

 first_node = ListNode("A")
 second_node = ListNode("B")
 third_node = ListNode("C")
 first_node.next = second_node
 second_node.next = third_noe

first_node 就是这个链表的表头,他们3个一起组成了一个单向链表

单向链表反转

class Solution:
    def reverse(self, head):
        prev = None
        current = head
        while current:
            middle, current.next = current.next, prev
            prev, current = current, middle
        return prev

反转的时候,先实例化Solution对象,然后调用reverse函数把链表的表头first_node 传进去:

solution = Solution()
result = solution.reverse(first_node)

如果你想查看这个链表的内容顺序,可以这样写:

print(result.val, result.next.val, result.next.next.val)

终端输出结果为CBA,符合要求

(资源库 www.zyku.net)

原文链接:https://juejin.cn/post/6941277556905607182

上一篇:Python2与Python3关于字符串编码处理的差别总结

栏    目:Python教程

下一篇:Python命令行如何运行文件

本文标题:Python 实现单向链表,和单向链表的反转

本文地址:https://www.zyku.net/python/2116.html

关于我们 | 版权申明 | 寻求合作 |

重要申明:本站所有的文章、图片、评论等内容,均由网友发表或上传并维护或收集自网络,仅供个人学习交流使用,版权归原作者所有。

如有侵犯您的版权,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:95148658 | 邮箱:mb8#qq.com(#换成@)

苏ICP备2020066115号-1

本网站由提供CDN加速/云存储服务