标签:nod 递归 https 反转 href problem 示例 两种方法 链表
反转一个单链表。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
进阶:
你可以迭代或递归地反转链表。你能否用两种方法解决这道题?
class Node():
def __init__(self, data):
self.val = data
self.next = None
def reverse(head):
"""记录三个节点,前一个prev节点,当前cure节点,和next下个节点"""
root = head
res = None
while root is not None:
next_node = root.next # 记录下一个
root.next = res # 当前指向前一个
res = root # 当前赋值给前一个,也就是整体后移
root = next_node # next赋值给当前,也就是整体后移
return res
if __name__ == "__main__":
node1 = Node(1)
node2 = Node(2)
node3 = Node(3)
node4 = Node(4)
node5 = Node(5)
node1.next = node2
node2.next = node3
node3.next = node4
node4.next = node5
print(reverse(node1).val)
标签:nod 递归 https 反转 href problem 示例 两种方法 链表
原文地址:https://www.cnblogs.com/hornets/p/13112773.html