首页 > 其他 > 详细

[LeetCode]Swap Nodes in Pairs 成对交换

时间:2014-09-29 01:05:28      阅读:333      评论:0      收藏:0      [点我收藏+]

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.    }  

[LeetCode]Swap Nodes in Pairs 成对交换

原文:http://blog.csdn.net/jhbxlx/article/details/39649957

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!