力扣题24两两交换链表中的节点
发布日期:2022-03-04 11:48:25
浏览次数:10
分类:技术文章
本文共 1374 字,大约阅读时间需要 4 分钟。
给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。
示例 1:
输入:head = [1,2,3,4]
输出:[2,1,4,3] 示例 2:输入:head = []
输出:[] 示例 3:输入:head = [1]
输出:[1]1.链表的题目,一般都会自己手动加一个哨兵头节点,这样就不需要对头节点这种特殊情况进行判断,方便很多。然后就是链表中经常使用多指针方法,需要画出关系图,针对每个节点的执向要弄清楚,对指针的更新也要注意空指针异常的问题。
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; } * } */class Solution { public ListNode swapPairs(ListNode head) { if (head == null || head.next == null) {//特殊情况的输入 return head; } ListNode newHead = new ListNode(0);//创建一个哨兵头节点 newHead.next = head; ListNode pre = newHead; ListNode first = head; ListNode second = head.next; while (first != null && second != null) { //修改节点间关系,注意要防止节点的丢失 ListNode temp1 = pre.next; ListNode temp2 = second.next; pre.next = second; second.next = temp1; temp1.next = temp2; //更新指针 pre = temp1; //注意对空指针的判断 if (pre.next == null || pre.next.next == null) { break; } first = pre.next; second = pre.next.next; } return newHead.next; }}
题源:
转载地址:https://blog.csdn.net/xxyneymar/article/details/122567488 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2024年03月11日 19时41分42秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
matlab6.0序列号,MFC软件获取USB设备的制造商、产品、序列号
2019-04-21
matlab中多边形滤波器,几种常见空间滤波器MATLAB实现
2019-04-21
matlab fminimax 例子,Matlab应用实例(8)—fminimax
2019-04-21
php://filter利用条件,浅谈php://filter技巧
2019-04-21
mplayer-php,mplayer+smplayer 前后端播放器安装
2019-04-21
oracle昨日时间,。。今日,昨日,上周,本月,本年,按时间统计总金额
2019-04-21
php验证卡号,PHP验证信用卡卡号是否正确函数
2019-04-21
mpvue微信小程序动画_推荐两个微信小程序开发框架
2019-04-21
固态硬盘分为哪几种_零基础玩转固态硬盘 深度排雷 买SSD掌握这些就够了
2019-04-21
调python返回图片_Python异常处理,3个好习惯分享给你
2019-04-21
15拆解_收藏:15款劲芯微芯片无线充产品拆解
2019-04-21
弹出u盘_都说:U盘直接拔出不会丢失文件,“安全弹出”形同虚设,对吗?
2019-04-21
带bitlocker解密的pe_如何在PE下解锁bitlocker
2019-04-21
lj245a引脚功能图_谁找到74254,74LS245芯片引脚的功能和功能图啊?
2019-04-21
python数字字符串和数字相加_数字和字符串
2019-04-21
python风控模型举例_一文搞定风控模型6大核心指标(附代码)
2019-04-21