class LNode:
def __init__(self, x=None):
self.x = x
self.next = None
def Reverse(first):
cur, pre = first, None
while cur:
cur.next, pre, cur = pre, cur, cur.next
return pre
def print_list(first):
node = first
while node:
print(node.x, end=" ")
node = node.next
print()
if __name__ == "__main__":
"""
不带头节点
"""
first = LNode(1)
temp = first
for i in range(2, 5):
new_Node = LNode(i)
temp.next = new_Node
temp = new_Node
print_list(first)
first = Reverse(first)
print_list(first)
1 2 3 4
4 3 2 1

本文详细介绍了链表数据结构的基本操作之一:链表反转。通过一个简单的Python实现,展示了如何不使用额外空间来反转一个单链表。从创建链表到反转链表,再到打印反转后的链表,每一步都清晰地解释了其背后的原理。
582

被折叠的 条评论
为什么被折叠?



