当前位置:首页>科技>双链表插入图解单链表实现反转
发布时间:2026-07-02阅读(0)
实现思路:
首先,我们新建一个Node类,也就是链表上的节点; 然后,再创建一个LinkedList类,也就是一个单链表类。里面包含了添加节点的add方法和打印整个链表的show方法
class Node: def __init__(self, i): self.id = i self.next = None class LinkedList: def __init__(self): self.head = Node(-1) def add(self, Node): node = self.head while True: if node.next is None: break else: node = node.next node.next = Node def show(self): node = self.head.next while node is not None: print(Node: str(node.id)) node = node.next
我们创建一个链表对象,加入3个节点,如下:
lk = LinkedList()lk.add(Node(1))lk.add(Node(2))lk.add(Node(3))lk.show()Node: 1Node: 2Node: 3
最后,就是我们实现链表反转的方法,也是类方法。
def reverse(self): final = self.head.next temp = final.next if (final is None) | (temp is None): return while temp is not None: final.next = temp.next temp.next = self.head.next self.head.next = temp temp = final.next
验证一下,我们的反转方法,结果没有问题,就是我们想要的结果。
lk.reverse()lk.show()Node: 3Node: 2Node: 1



Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图