创建一个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