合并两个有序链表
题目:
将两个有序的链表合并成一个新链表,要求新的链表是通过拼接两个链表的节点来生成的,且合并后的新链表依然有序。
思路:
① 判断两个链表是否为空,若其中一个为空,返回另一个即可。
② 定义两个指针,分别指向两个链表,记这两个指针为:p1、p2。
③ p1、p2负责遍历两个链表,比较p1、p2所指向节点的值,哪个节点小,则让小的节点放入新链表中。
④ 如果p1为空,说明链表A已经被遍历完,直接将链表B链入新链表的后面即可。反之亦然。
图示:
tmp所指向的是新链表的头结点。(注意是头结点)

比较p1、p2所指向的节点的值。p2.val = 1 < p1.val=2;所以tmp.next指向p2.。如下图:

继续比较p1、p2节点的值。如下图所示:


这篇博客介绍了如何合并两个已排序的链表,通过比较节点值,逐步构建新的有序链表。当一个链表遍历完,将其剩余部分连接到另一个链表的末尾,从而完成合并。
最低0.47元/天 解锁文章
681

被折叠的 条评论
为什么被折叠?



