[英]Reversing a linked list(Iterative method)
我正在编写用于反转 python 中的链表的代码。 以下代码未通过测试用例:
class ListNode(object):
def __init__(self, val=0, next=None):
self.val = val
self.next = next
class Solution(object):
def reverseList(self, head)
prev, curr = None, head
while curr:
curr.next = prev
prev = curr
curr = curr.next
return prev
虽然此代码通过:
class Solution(object):
def reverseList(self, head): # Iterative
prev, curr = None, head
while curr:
curr.next, prev, curr = prev, curr, curr.next
return prev
两者有什么区别?
在您展开的代码中,当您到达最后一行时, curr.next
已被prev
覆盖。 它不再具有原来的价值。 prev
和curr
都将指向旧的prev
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.