反向链表:为什么head = head.next的位置很重要?

·
2025-11-19 11:49:46

您可以通过跟踪代码流中每个变量的内容来解决这个问题(您甚至不需要运行它):

假设我们从列表1 -> 2 -> 3开始

代码语言:javascript复制 prev curr head head.next curr.next

---- ---- ---- --------- ---------

prev = None None - 1 2 -

while head:

curr = head None 1 1 2 2

curr.next = prev None 1 1 None None ***

prev = curr 1 1 1 None None

head = head.next 1 1 None - None

return prev当您将prev (None)分配给curr.next时,您将丢失来自head.next的连接,因为head也指向节点#1。