[力扣 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;
    }
};
相关推荐
Logic10126 分钟前
C语言/数据结构二维数组题解:找出行列O个数均为偶数的格子——奇偶性预处理+二次遍历
c语言·数据结构·算法·二维数组·时间复杂度·动态内存分配·奇偶性
程序猿阿森32 分钟前
【机器学习实战】朴素贝叶斯算法详解:从概率基础到商品评论情感分析
算法·机器学习·概率论
xxwl58543 分钟前
区域赛算法模版第五章---数学与数论
c++·笔记·算法
看浪的路人1 小时前
第6讲:Agent 安全体系——Prompt 注入防御、工具调用审计与输出合规
人工智能·算法
局部有解1 小时前
LeetCode Hot100 438 找到字符串中所有字母异位词
c++·算法·leetcode
垆边人似月.1 小时前
移动长度 k 子串使字符串变成回文
数据结构·算法
pride.li2 小时前
第12章 Python 教程-流程控制:循环结构
linux·服务器·python·算法
海绵宝宝转agent2 小时前
2026-10-16 4算法+1面经
算法
小poop2 小时前
基础排序算法详解——插入、选择与交换排序
算法·排序算法
青蓝智慧马老师2 小时前
想学数据分析但零基础,正确顺序不是先学 Python
大数据·人工智能·算法