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;
}
相关推荐
新中地GIS开发老师12 小时前
WebGIS开发学生作品|低空航天管理与航线规划系统
前端·javascript·webgis·三维gis开发
用户0595401744612 小时前
大模型对话记忆持久化踩坑实录:用 Playwright 自动化测了 300 次,终于揪出会话丢失的真凶
前端·css
丙氨酸長鏈12 小时前
Web前端入门第 问:JavaScript 一个简单的 IndexedDB 数据库入门示例
前端·javascript·数据库
kyriewen13 小时前
面试官让我手写虚拟列表——AI生成的版本,快速滚动几下就白屏了
前端·javascript·面试
IT_陈寒13 小时前
Vite热更新失效?你可能漏了这个配置
前端·人工智能·后端
梅孔立14 小时前
两种免费的翻译API调用方式详解 - Edge官方API与个人缓存服务
前端·缓存·edge
Revolution6114 小时前
React 组件重新渲染时,到底重新执行了什么
前端·react.js·面试
用户21816970493016 小时前
Flutter(四)Dart语法 空安全 运算符 流程控制
前端
许彰午16 小时前
政务督办的分合模式:主办协办的并发审批
前端·javascript·政务
用户693717500138416 小时前
AI时代,程序员该往哪走?
前端·后端