LC 速查

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
← 上一题 删除链表的倒数第 N 个结点K 个一组翻转链表 下一题 →