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

时间:2023-03-09 05:28:38
LeetCode 24 Swap Nodes in Pairs (交换相邻节点)

Problem: 交换相邻的两个节点
LeetCode 24 Swap Nodes in Pairs (交换相邻节点)
  如上图所示,递归进行交换。从最尾端开始,当最尾端只有一个节点时,停止交换
  否则执行 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;
}
}