在 Python 中为链表进行多重赋值



最近我遇到了以下多个赋值,不知道它是如何交换两个节点的。我想交换链表中的两个节点。代码是:

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

扩展多项任务帮助我了解它的作用。

相关内容

  • 没有找到相关文章

最新更新