题目:Swap Nodes in Pairs
Given a linked list, swap every two adjacent nodes and return its head.
Example:
Given1->2->3->4
, you should return the list as2->1->4->3
.
Note:
- Your algorithm should use only constant extra space.
- You may not modify the values in the list's nodes, only nodes itself may be changed.
解题思路:
从链表头开始,每两个之间进行值的交换,然后切换到后两个继续交换直到为空
代码:
class ListNode: def __init__(self, x): self.val = x self.next = None class Solution: def swapPairs(self, head): if not head: return head first = head second = first.next while first and second: change = first.val first.val = second.val second.val = change if second.next: first = second.next second = first.next else: break return head