leetcode中怎么合并两个排序的链表
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,leetcode中怎么合并两个排序的链表,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。题目输入两个递增排序的链表,合并这
千家信息网最后更新 2025年01月31日leetcode中怎么合并两个排序的链表
leetcode中怎么合并两个排序的链表,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
题目
输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例1:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4限制:0 <= 链表长度 <= 1000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
题解
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode newHead = new ListNode(-1); ListNode cursor = newHead; while(l1 != null && l2 != null) { if (l1.val <= l2.val) { cursor.next = l1; l1 = l1.next; } else { cursor.next = l2; l2 = l2.next; } cursor = cursor.next; } if (l1 == null) { cursor.next = l2; } if (l2 == null) { cursor.next = l1; } return newHead.next; }}
这里先创建一个newHead节点来表示合并后链表的头指针,然后创建一个cursor,其初始值为newHead;之后同时遍历l1及l2,取最小的作为cursor.next,同时该链表前进一个节点,并且cursor跟着前进;最后再将cursor.next指向尚未遍历完的链表的剩余节点;之后返回头指针指向的节点
小结
合并两个有序链表的基本思路就是设置一个cursor以及新链表的头指针,然后同时遍历两个链表,取小的节点作为cursor的next,然后该链表往前进,cursor也跟着往前进,最后再将cursor.next指向尚未遍历完的链表的剩余节点
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
节点
两个
排序
同时
指向
指针
尚未
跟着
剩余
帮助
输入
最小
有序
清楚
内容
出处
商业
官方
对此
小结
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
赤峰软件开发培训学校
服务器怎么响应网页post
数据库物理磁盘资源
软件开发 执行标准
金融学和软件开发
苹果签名软件开发
网络安全须知大全
gun神网络安全
网络安全处置记录 问题原因
浪潮服务器运行速度
去年网络安全大赛的冠军
计算机数据库考试的框框里写什么
学生通讯录数据库
互联网科技行业目标价
施公奇案下载软件开发
上海运营计算机网络技术服务系统
利刃之拳服务器
和平精英吃鸡服务器怎么开启
gg篮球网CBA数据库
服务器安全策略原则
长三角网络安全海报大赛
主机服务器哪个系统好
vb数据库的代码
学完软件开发培训班多少钱
医学三基考核培训数据库
金蝶数据库丢失
福建计算机软件开发培训
新建数据库目录在哪个文件夹
我的世界网易生存服务器没有主城
哈曼ota网络安全盾