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;
}
相关推荐
leikooo9 小时前
用餐厅和盘子理解栈和堆
java·数据结构·链表·rust
沙漠之主10 小时前
C++编程教学设计资料:从入门到实战的完整课程方案
java·前端·c++
hasty10 小时前
不上传新包,也能改变用户拿到的版本:npm dist-tag 的 OIDC 权限治理
前端·npm·node.js
Csvn11 小时前
diff 算法(虚拟 DOM Reconciliation)
前端
前端snow12 小时前
ai agent --- 文件存储
前端
Frag0ut12 小时前
Chrome四大版本获取及共存指南:Stable/Beta/Dev/Canary
前端·chrome·浏览器·dev·beta·canary·共存版
IT_陈寒13 小时前
SpringBoot自动配置坑了我一把,原来是这样绕过去的
前端·人工智能·后端
广州华水科技13 小时前
单北斗GNSS变形监测在大坝安全监测中的应用与优势
前端
zeng不错14 小时前
B站 173 个投稿活动看到眼瞎?我写了个扩展,主打一个精准打击
前端
Latchh14 小时前
前端导出的JPEG红字发糊,质量要拉到100才清楚
前端·图像处理·人工智能·计算机视觉