关注
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode() : val(0), next(nullptr) {}
* ListNode(int x) : val(x), next(nullptr) {}
* ListNode(int x, ListNode *next) : val(x), next(next) {}
* };
*/
class Solution {
public:
ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {
// 创建一个虚拟头节点(dummy node),简化边界条件处理
// 虚拟节点的next将指向合并后的链表头
ListNode* dum = new ListNode(0);
// cur指针用于构建新链表,初始指向虚拟节点
ListNode* cur = dum;
// 同时遍历两个链表,直到其中一个被完全遍历
while (list1 != nullptr && list2 != nullptr) {
// 比较当前两个节点的值,将较小者接入新链表
if (list1->val < list2->val) {
cur->next = list1; // 将list1节点接入
list1 = list1->next; // list1指针后移
}
else {
cur->next = list2; // 将list2节点接入
list2 = list2->next; // list2指针后移
}
cur = cur->next; // 新链表指针后移
}
// 将未遍历完的链表剩余部分直接接入新链表
// (三目运算符:如果list1不为空则接list1,否则接list2)
cur->next = list1 != nullptr ? list1 : list2;
// 返回合并后的链表头(跳过虚拟节点)
return dum->next;
}
};
查看原帖
点赞 评论
相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 国企还是互联网,你怎么选? #
122285次浏览 943人参与
# 找工作,行业重要还是岗位重要? #
8216次浏览 105人参与
# 五一之后,实习真的很难找吗? #
46636次浏览 335人参与
# 盲审过后你想做什么? #
12908次浏览 115人参与
# 小厂实习有必要去吗 #
42312次浏览 260人参与
# 领导秒批的请假话术 #
10137次浏览 76人参与
# 设计人如何选offer #
98519次浏览 690人参与
# 外包能不能当跳板? #
22241次浏览 191人参与
# 五一假期,你打算“躺”还是“卷”? #
32730次浏览 446人参与
# 考研可以缓解求职焦虑吗 #
21423次浏览 252人参与
# 如果校招重来我最想改变的是 #
245272次浏览 2781人参与
# 面试等了一周没回复,还有戏吗 #
115871次浏览 1078人参与
# 大疆的机械笔试比去年难吗 #
69701次浏览 603人参与
# 硬件人,你被哪些公司给挂了 #
46850次浏览 724人参与
# 如果有时光机,你最想去到哪个年纪? #
43411次浏览 770人参与
# 找工作前vs找工作后的心路变化 #
7231次浏览 64人参与
# 秋招前后对offer的期望对比 #
271827次浏览 2075人参与
# 面试中,你被问过哪些奇葩问题? #
63617次浏览 777人参与
# 写简历别走弯路 #
714714次浏览 7850人参与
# 一句话证明你在找工作 #
291601次浏览 2391人参与