HOT 100 › 索引 › B7 链表 Linked List
LC 24两两交换链表中的节点Swap Nodes in Pairs 中等
成对交换链表中相邻两个节点并返回新头节点,须改指针而非改值。
思路 哑结点作 prev,迭代改接 a、b 两节点:prev->b->a,prev 移到 a。时间 O(n)。
class Solution: def swapPairs(self, head): dummy = ListNode(0, head) prev = dummy while prev.next and prev.next.next: a, b = prev.next, prev.next.next a.next = b.next b.next = a prev.next = b prev = a return dummy.next