leetcode 24 Swap Nodes in Pairs
2015-04-14 15:32
615 查看
Swap Nodes in Pairs
Given a linked list, swap every two adjacent nodes and return its head.For example,
Given
1->2->3->4, you should return the list as
2->1->4->3.
Your algorithm should use only constant space. You may not modify the values in the list, only nodes itself can be changed.
# Definition for singly-linked list. class ListNode: def __init__(self, x): self.val = x self.next = None class Solution: # @param a ListNode # @return a ListNode def swapPairs(self, head): if head==None: return None if head.next: p1=head p2=head.next p1.next=p2.next p2.next=head head=p2 else: return head pre=p1 <span style="color:#ff0000;">if pre:</span> p1=pre.next <span style="color:#ff0000;">if p1:</span> p2=p1.next else: p1=p2=None while p1 and p2: pre.next=p2 p1.next=p2.next p2.next=p1 pre=p1 <span style="color:#ff0000;">if pre:</span> p1=pre.next <span style="color:#ff0000;">if p1:</span> p2=p1.next return head if __name__ == '__main__': head=ListNode(1) head.next=ListNode(2) head.next.next=ListNode(3) head.next.next.next=ListNode(4) head.next.next.next.next=ListNode(5) p=head while p: print p.val, p=p.next print a=Solution() p=a.swapPairs(head) while p: print p.val, p=p.next
相关文章推荐
- leetcode-24. Swap Nodes in Pairs
- [LeetCode]24.Swap Nodes in Pairs
- LeetCode 24. Swap Nodes in Pairs
- leetcode 24 Swap Nodes in Pairs
- [LeetCode]24. Swap Nodes in Pairs
- LeetCode 24:Swap Nodes in Pairs
- leetcode_24_Swap Nodes in Pairs
- LeetCode - 24 - Swap Nodes in Pairs(交换链表结点)
- LeetCode(24) Swap Nodes in Pairs
- LeetCode 24 Swap Nodes in Pairs (C,C++,Java,Python)
- LeetCode 24. Swap Nodes in Pairs
- Leetcode 24 Swap Nodes in Pairs
- LeetCode 24_Swap Nodes in Pairs
- LeetCode之24----Swap Nodes in Pairs
- [leetcode] 24. Swap Nodes in Pairs
- LeetCode(24) Swap Nodes in Pairs
- LeetCode 24 - Swap Nodes in Pairs
- 【LeetCode】24.Swap Nodes in Pairs
- LeetCode_OJ【24】Swap Nodes in Pairs
- leetcode 24. Swap Nodes in Pairs