力扣21 合并两个有序链表(C++)

题目


知识点

三目运算符的不等利用

复制代码
cur->next = list1 != nullptr ? list1 : list2;

思路

链接K神有ppt


错误


题解

cpp 复制代码
class Solution {
public:
    ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {
        ListNode* dum = new ListNode(0);//伪头节点
        ListNode* cur = dum;//cur是最终链表的移动指针

        while (list1 != nullptr && list2 != nullptr) {
            if (list1->val < list2->val) {
                cur->next = list1;
                list1 = list1->next;
            }
            else {
                cur->next = list2;
                list2 = list2->next;
            }
            cur = cur->next;//一定要有的一步,拿到外面写
        }
        cur->next = list1 != nullptr ? list1 : list2;
        //等价的if-else写法
        //if (list1 != nullptr) 
        //    cur->next = list1;
        //else 
        //    cur->next = list2;

        return dum->next;
    }
};
相关推荐
NiceCloud喜云4 小时前
Opus 4.8 的 Effort Control 怎么选:Low 到 Max 五档策略
android·java·大数据·前端·c++·python·spring
小羊在睡觉4 小时前
力扣84. 柱状图中最大的矩形
后端·算法·leetcode·golang·go
cjhbachelor4 小时前
c++继承
c++
肩上风骋5 小时前
C++14特性
开发语言·c++·c++14特性
sheeta19985 小时前
LeetCode 每日一题笔记 日期:2026.05.29 题目:3300. 最小元素
笔记·leetcode
_日拱一卒5 小时前
LeetCode:994腐烂的橘子
java·数据结构·算法·leetcode·深度优先
QiLinkOS8 小时前
【从实验室到商业战场:发明专利如何重塑科技与企业的共生生态】
大数据·c语言·数据结构·c++·人工智能·单片机·算法
Irissgwe8 小时前
c++11(lambda表达式与包装器、线程库)
c++·c++11·lambda表达式·线程库·包装器·互斥量库·条件变量库
小白兔奶糖ovo8 小时前
【Leetcode】231. 2的幂
linux·算法·leetcode
Peter·Pan爱编程9 小时前
14. Lambda 表达式:随手可写的函数对象
c++·算法·ai编程