10月30日面试题
题目
解析
递归实现。给定一个单向链表,首先交换最前面的两个节点,然后递归执行第三个节点开始的子链表,返回的结果连接到交换后的前两节点后面,组成交换后的链表,最终返回链表的第一个节点。
代码
public Node swapPairs(Node head){
//如果null或者只有一个节点,直接返回
if(null == head || null == head.next){
return head;
}
Node first = head;
Node second = head.next;
head = second.next;
//交换两个节点
second.next = first;
first.next = swapPairs(head);
return second;
}
网友评论