【发布时间】:2020-05-10 09:44:17
【问题描述】:
我正在尝试将代码中的同时赋值重写为一个一个赋值,但我不知道它是如何工作的。
原代码如下(反转一个链表):
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
class Solution:
def reverseList(self, head: ListNode) -> ListNode:
rev=None
while head:
head.next,rev,head=rev,head,head.next
return rev
我尝试将while循环的内部重写为
tmp=head
head.next=rev
rev=tmp
head=head.next
它不起作用。当我输入链表 1->2->3 时,它输出 1,而不是 3->2->1。 我尝试了各种其他方法,但没有成功。
能指出我做错了什么吗? 非常感谢您的评论。 谢谢。
【问题讨论】:
-
除了minimal reproducible example,还可以通过tour阅读How to Ask来帮助您提出更好的问题。
标签: python python-3.x linked-list