給定一個鏈表,兩兩交換其中相鄰的節點,并返回交換后的鏈表。
你不能只是單純的改變節點內部的值,而是需要實際的進行節點交換。
?
示例:
給定 1->2->3->4, 你應該返回 2->1->4->3.
思路:這一看就是個遞歸定義,遞歸調換即可。
/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x) { val = x; }* }*/
class Solution {public ListNode swapPairs(ListNode head) {if(head==null || head.next==null){return head;}ListNode temp=head.next;head.next=swapPairs(head.next.next);temp.next=head;return temp;}
}
?