最近我遇到了以下多个赋值,不知道它是如何交换两个节点的。我想交换链表中的两个节点。代码是:
head, head.next = head.next, head
如 https://leetcode.com/problems/swap-nodes-in-pairs/discuss/171788/Python-or-Dummynode 所见
有人可以分解这些步骤并告诉我该代码如何交换头和头.next吗?这让我非常困惑。
我为此挣扎了一下,想出了解释。
head, head.next = head.next, head
等效于代码
bob = head.next
alice = head
head = bob
head.next = alice
换句话说,它拍摄 head.next 和 head(分别由 bob 和 alice 表示(的快照(或评估(,并将它们分配给 head 和 head.next
扩展多项任务帮助我了解它的作用。