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命令行如何运行文件
本文地址:https://www.zyku.net/python/2116.html
您可能感兴趣的文章
- 01-08创客直聘-创客直聘应用软件功能介绍
- 06-22PHP生成6位的不重复的字符串(类似 UUID
- 01-11六年级上册数学帮-六年级上册数学帮应
- 01-13喝水了-喝水了应用软件功能介绍
- 07-05Linux stat命令
- 11-11苹果13如何开机激活
- 12-31iPhone12画中画功能设置方法介绍
- 11-03惠普云打印机连接手机步骤介绍
- 10-11支付宝蚂蚁新村怎么关闭
- 03-03荣耀play5t活力版设置三键导航教程
- 01-12房无双-房无双应用软件功能介绍
- 01-13安大师安全卫士-安大师安全卫士应用软
- 09-19羊驼韩语配音方法介绍
- 06-24帝国CMS循环子栏目导航
- 03-13wordpress合理利用wp-config.php文件
- 12-28企业微信在哪设置繁体中文
- 01-20苹果已安装app怎么分享
- 01-11一帆视频-一帆视频应用软件功能介绍
- 01-11安泰车联网-安泰车联网应用软件功能介
- 03-28VtigerCRM 7安装服务器参数配置教程
最近更新
阅读排行
猜你喜欢
- 07-07小天才手表使用支付宝存入零花钱教程
- 02-19PhpCMS模板语法规则说明
- 04-11小米11ultra背屏显示通知设置教程
- 01-11蓝鸽远程会议-蓝鸽远程会议应用软件功
- 01-14茶馆图片编辑-茶馆图片编辑应用软件功
- 01-11中公考研学员端-中公考研学员端应用软
- 09-11华为手机怎么关闭云备份
- 12-18HTML <ruby> 标签
- 03-16荣耀50se杂志锁屏设置方法
- 01-11视频制作专家-视频制作专家应用软件功