[力扣 Hot100]Day27 合并两个有序链表

题目描述

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。

出处

思路

简单题,两个指针就能解决。

代码

cpp 复制代码
class Solution {
public:
    ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {
        if(!list1) return list2;
        if(!list2) return list1;
        
        ListNode *p1=nullptr;
        ListNode *p2=nullptr;
        ListNode *q=nullptr;
        if(list1->val<list2->val){
            p1=list1;
            p2=list2;
        }
        else{
            p1=list2;
            p2=list1;
        }
        ListNode *res=p1;
        while(p2!=nullptr){
            if(p2->val>=p1->val&&(!p1->next||p2->val<p1->next->val)){
                q=p2->next;
                p2->next=p1->next;
                p1->next=p2;
                p2=q;
            }
            else
                p1=p1->next;
        }
        return res;
    }
};
相关推荐
湖南天硕国产SSD7 小时前
工业存储可靠性进阶:天硕工业固态硬盘动态温控与寿命优化技术实践
网络·数据库·算法·工业存储·天硕存储·工业固态硬盘
legend050709ComeON7 小时前
常见面试题-leetcode
数据结构·算法·leetcode
Smilecoc7 小时前
决策树(一):决策树基本原理
算法·决策树·机器学习
weixin_307779137 小时前
从工具到协作者:AI在后端研发中的流程重构与组织赋能
人工智能·后端·python·算法·自动化
沉下去,苦磨练!7 小时前
深度学习神经网络的搭建
人工智能·算法
Lsk_Smion8 小时前
力扣实训 _ [207].课程表/图论
数据结构·leetcode·图论
孬甭_8 小时前
深入剖析快速排序:原理、实现与性能优化
数据结构·算法·排序算法
阿正的梦工坊8 小时前
【Rust】06-函数、控制流与模块组织
开发语言·算法·rust
阿正的梦工坊8 小时前
【Rust】16-async/await、Future 与执行器模型
网络·算法·rust
阿正的梦工坊8 小时前
【Rust】11-Rust 所有权模型的编译期推理机制
开发语言·算法·rust