一、题设
给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。
二、基本思路
节点的交换。
三、代码实现
def swapPairs(self, head):
if head == []:
return []
index = head
len = 0
while index:
index = index.next
len += 1
if len == 1:
return head
left = ListNode(-1)
start = left
left.next = head
right = head
while right and right.next:
node = right
left.next = right.next
right.next = left.next.next
left.next.next = right
left = right
right = left.next
return start.next
四、效率总结