力扣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;
    }
};
相关推荐
01二进制代码漫游日记11 分钟前
[C++]之内存管理(一)
jvm·c++·学习
codebolt28 分钟前
C++程序crash分析和内存检测
开发语言·c++
ShineWinsu35 分钟前
对于Qt:QLabel常见属性的解析
c++·qt·面试·笔试·gui·标签·qlabel
Pniubi1 小时前
力扣42接雨水(动态规划法)
算法·leetcode·职场和发展
zwc32104320551 小时前
Day 5:threshold与inRange阈值分割
c++·图像处理·人工智能·opencv·算法·计算机视觉
小徐不徐说1 小时前
数据库存储基础:理解表结构、主键、事务与 BLOB
开发语言·数据库·c++·qt·程序设计
Pniubi1 小时前
力扣46全排列(回溯(递归))
算法·leetcode·职场和发展
草莓熊Lotso1 小时前
【C++ 基于微服务的即时通讯系统】网关基建:cpp-httplib 与 WebSocketpp 从入门到实战
linux·开发语言·数据库·c++·redis·微服务·云原生
文丑颜不良啊2 小时前
LeetCode1461~1480题目解析
java·leetcode
Sakura_j_h_10 小时前
EasyEDA PCB 快速设计Skills
c++·python·github