给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。
你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。
这个题内容还是比较考验逻辑关系,要额外考虑奇数节点的情况。
class ListNode:
def __init__(self,x):
self.val = x
self.next = None
class Solution:
def swapPairs(head):
if not head or not head.next:
return head
p = head
new_start = p.next
while(True):
q = p.next
temp = q.next
q.next = p
if not temp or not temp.next:
p.next = temp
break
p.next = temp.next
p = temp
return new_start