您的位置:首页 > 其它

leetcode-24,交换链表相邻节点,递归实现

2018-04-02 10:48 489 查看
给定一个链表,对每两个相邻的结点作交换并返回头节点。例如:
给定 
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 = temp.next;
        temp.next = head;
        head.next = swapPairs(head.next);
        return temp;
    }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: