class Solution:
def reverseList(self, head: ListNode) -> ListNode:
pre=head
cur= None
while head:
pre.next=cur
cur=pre
pre=head.next
head=head.next
return cur
我原本以为head本身就是一个链表,不需要创新新的链表t来保存原来pre.next的指针,但是在调试的过程中发现改变pre.next的值时,head也会跟着改变,这是为什么?
答案应为:
class Solution:
def reverseList(self, head: ListNode) -> ListNode:
pre=head
cur= None
while head:
t=pre.next
pre.next=cur
cur=pre
pre=t
return cur