leetcode-24

leetcode24 Swap Nodes in Pairs

题目大意:
给定一个链表 每两个元素进行一次swap 随后返回head
大致思路如下:
pre -> a -> b -> b.next
交换后:
pre -> b -> a -> b.next
由此可得:

1
pre.next,a.next,b.next = b,b.next,a

交换完成
代码如下

1
2
3
4
5
6
7
8
def swapPairs(self, head: ListNode) -> ListNode:
pre,pre.next = self,head
while pre.next and pre.next.next:
a = pre.next
b = a.next
pre.next,a.next,b.next= b,b.next,a
pre = a
return self.next