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 plain
copy
public ListNode swapPairs(ListNode head) { if(head==null) return null; if(head.next==null) return head; ListNode temp=head.next; ListNode forward=head.next.next; temp.next=head; head.next=swapPairs(forward); return temp; }
转载于:https://www.cnblogs.com/bhlsheji/p/4299504.html