Fork me on GitHub

LeetCode 24 Swap Nodes in Pairs (交换相邻节点)

 
Problem: 交换相邻的两个节点
 
 
  如上图所示,递归进行交换。从最尾端开始,当最尾端只有一个节点时,停止交换
  否则执行 swap(head.next) 
 
参考代码:
 
package leetcode_50;

/**
 * 
 * @author pengfei_zheng
 * 交换相邻节点
 */
public class Solution24 {
    public class ListNode {
          int val;
          ListNode next;
          ListNode(int x) { val = x; }
      }
     
    public ListNode swapPairs(ListNode head) {
        if ((head == null)||(head.next == null))
            return head;
        ListNode n = head.next;
        head.next = swapPairs(head.next.next);
        n.next = head;
        return n;
    }
}

 

 
posted @ 2017-03-09 19:35  伊甸一点  阅读(213)  评论(0编辑  收藏  举报