[力扣 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;
    }
};
相关推荐
染指11107 小时前
3.AI大模型-token是什么-大模型底层运行机制
人工智能·算法·机器学习
谙弆悕博士7 小时前
快速学C语言——第19章:C语言常用开发库
c语言·开发语言·算法·业界资讯·常用函数
光影少年7 小时前
前端算法题
前端·javascript·算法
南宫萧幕7 小时前
基于 Simulink 与 Python 联合仿真的 eVTOL 强化学习全链路实战
开发语言·人工智能·python·算法·机器学习·控制
电魂泡哥7 小时前
CMS垃圾回收
java·jvm·算法
hkj88088 小时前
CRC-512算法输出64字节
算法
@我漫长的孤独流浪8 小时前
计算机系统核心概念与性能优化全解析
算法·计算机外设
如竟没有火炬8 小时前
接雨水22
数据结构·python·算法·leetcode·散列表
ʚ希希ɞ ྀ8 小时前
二叉树的锯齿层序遍历
数据结构·算法