24. 调换链表中的相邻元素

创建一个dummy结点指向head,pre指针初始指向dummy,每次从pre获取要使用的结点,结束后更新pre指针。

    def swapPairs(self, head):
        """
        :type head: ListNode
        :rtype: ListNode
        """
        if not head or not head.next:
            return head
        dummy = ListNode(-1)
        dummy.next = head
        pre = dummy
        while pre.next and pre.next.next:
            node1 = pre.next
            node2 = node1.next
            last  = node2.next

            node2.next = node1
            node1.next = last
            pre.next = node2

            pre = node1

        return dummy.next

你可能感兴趣的:(24. 调换链表中的相邻元素)