概述
1. 题目描述
两两交换链表中的节点
2. 题目分析
1.链表如下所示:
2. 建立一个root结点,并建立两个结点指针,如图所示:
注意:这里的0结点,是JAVA建立root结点是附带的:ListNode root = new ListNode(0);
3. 思路如下:
将p1.next连接到p2.next(0----->2),如下:
将p2.next连接到p1.next.next(1----->3),如下:
将p1.next.next连接到p2(相当于2----->1),如图所示:
千万不要链表越界,注意p2指针的范围while(p2 != null && p2.next != null)
3. 题目代码
class Solution {
public ListNode swapPairs(ListNode head) {
if(head == null){
return head;
}
ListNode root = new ListNode(0);
root.next = head;
ListNode p1 = root;
ListNode p2 = root.next;
while(p2 != null && p2.next != null) {
p1.next = p2.next;
p2.next = p1.next.next;
p1.next.next = p2;
p1 = p2;
p2 = p2.next;
}
return root.next;
}
}
最后
以上就是精明泥猴桃为你收集整理的链表中奇数位和偶数位的置换1. 题目描述2. 题目分析3. 题目代码的全部内容,希望文章能够帮你解决链表中奇数位和偶数位的置换1. 题目描述2. 题目分析3. 题目代码所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复