[力扣 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;
    }
};
相关推荐
水龙吟啸1 天前
华为2026.6.17机考选择题+编程题【速刷敲黑板】
人工智能·深度学习·算法·华为
凌波粒1 天前
LeetCode--53. 最大子序和(贪心算法)
算法·leetcode·贪心算法
Hesionberger1 天前
快速求解完全平方数的最少数量
开发语言·数据结构·python·算法·leetcode·c#
c238561 天前
《序列 DP:C++ 中的“最长”套路与编辑距离》
c++·算法·动态规划
aqiu1111111 天前
【算法日记 19】LeetCode 1. 两数之和:梦开始的地方,哈希表的降维打击
算法·leetcode·职场和发展
CS创新实验室1 天前
算法、齿轮与硅基大脑:数值计算发展简史
人工智能·算法·数值计算
海石1 天前
1563分的简单题,可能就简单在能被暴力AC
算法·leetcode
海石1 天前
1400分的dp汗流浃背之【交替子数组计数】
算法·leetcode
奋发向前wcx1 天前
P2590 树的统计 题目解析
数据结构·算法·深度优先
imbackneverdie1 天前
AI4S不止于分子药物:以MedPeer为代表的科研基建打开产业新增量
大数据·人工智能·算法·aigc·科研·学术·ai 4s