27.合并有序链表,串葫芦

1.直接看题解有详细注释

要注意的只有初试是什么状态开始的,什么状态结束的

cpp 复制代码
struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2) {
    if(list1==NULL) return list2;
    if(list2==NULL) return list1;
    struct ListNode* head = NULL;//新的头节点
    
    //开始找新的头节点是哪个链表的头节点
    if(list1->val > list2->val){
        head = list2;
        list2 = list2->next;
    }else{
        head = list1;
        list1 = list1->next;
    }
    //此时从head开始串,最后返回head
    struct ListNode* cur = head;
    while(list1!=NULL && list2!=NULL){
        if(list1->val > list2->val){
            //串2
            cur->next = list2;
            list2 = list2->next;
            cur =cur->next;
        }else{
            cur->next = list1;
            list1 = list1->next;
            cur = cur->next;
        }
    }
    //此时有一个为空了 是哪个呢?作下判断,把剩下那个不空的串起来即可
    if(list1==NULL){
        cur->next = list2;
    }else{
        cur->next = list1;
    }
    return head;
}
相关推荐
晚烛31 分钟前
CANN + 物理信息神经网络(PINNs):求解偏微分方程的新范式
javascript·人工智能·flutter·html·零售
果果燕40 分钟前
今日学习笔记:双向链表、循环链表、栈
笔记·学习·链表
saber_andlibert1 小时前
TCMalloc底层实现
java·前端·网络
逍遥德1 小时前
如何学编程之01.理论篇.如何通过阅读代码来提高自己的编程能力?
前端·后端·程序人生·重构·软件构建·代码规范
xuxie991 小时前
day 21 双向链表以及循环链表
数据结构·链表
冻感糕人~1 小时前
【珍藏必备】ReAct框架实战指南:从零开始构建AI智能体,让大模型学会思考与行动
java·前端·人工智能·react.js·大模型·就业·大模型学习
程序员agions1 小时前
2026年,“配置工程师“终于死绝了
前端·程序人生
alice--小文子1 小时前
cursor-mcp工具使用
java·服务器·前端
晚霞的不甘2 小时前
揭秘 CANN 内存管理:如何让大模型在小设备上“轻装上阵”?
前端·数据库·经验分享·flutter·3d
小迷糊的学习记录2 小时前
0.1 + 0.2 不等于 0.3
前端·javascript·面试