leetcode中的问题!反向链表

时间:2019-05-20 15:47:57

标签: python-3.x

我对python有疑问。
我不知道我的代码的问题。

pre, cur, cur.next = cur, cur.next, pre 
cur.next, pre, cur = pre, cur, cur.next

第一行不起作用,第二行可以起作用! 它们之间有什么区别? 非常感谢你!

# Definition for singly-linked list.  
# class ListNode:  
#     def __init__(self, x):  
#         self.val = x  
#         self.next = None  

class Solution:
    def reverseList(self, head: ListNode) -> ListNode:
        pre, cur = None, head
        while cur:
            #pre, cur, cur.next = cur, cur.next, pre
            cur.next, pre, cur = pre, cur, cur.next 
        return pre

1 个答案:

答案 0 :(得分:0)

两条线之间的差异

pre, cur, cur.next = cur, cur.next, pre 
cur.next, pre, cur = pre, cur, cur.next

是在第一个中,您先更改cur.next的值,然后再更改cur.next的值,但是在第二个中,您要先更改cur.next的值,然后再更改cur.next的值。因此,您需要在两行中更改不同ListNodes的下一个字段。