24. Swap Nodes in Pairs using recursion

来源:互联网 发布:js获取服务器ip地址 编辑:程序博客网 时间:2024/06/10 23:55

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.

/** * Definition for singly-linked list. * public class ListNode { *     int val; *     ListNode next; *     ListNode(int x) { val = x; } * } */public class Solution {    public ListNode swapPairs(ListNode head) {        if(head==null||head.next==null) return head;        ListNode second=head.next;        ListNode third=second.next;        second.next=head;        head.next=swapPairs(third);                return last;            }}
运用递归,建立两个ListNode 分别是second和third




0 0