[LeetCode]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.

思路:肯定是递归方便啦,我们做好了base case,一直调用自己就能够了。 要是想不出来base case是什么,多理解理解就熟悉了


[java] view plaincopy
  1. public ListNode swapPairs(ListNode head) {  
  2.        if(head==nullreturn null;  
  3.        if(head.next==nullreturn head;  
  4.        ListNode temp=head.next;  
  5.        ListNode forward=head.next.next;  
  6.        temp.next=head;  
  7.        head.next=swapPairs(forward);  
  8.        return temp;  
  9.    }  
posted @ 2015-02-25 14:09  phlsheji  阅读(156)  评论(0编辑  收藏  举报