[力扣 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;
    }
};
相关推荐
无限码力20 小时前
华为非AI方向笔试真题【工厂落点最小加权路程】
算法·华为·华为非ai方向笔试真题·华为笔试真题·华为最新笔试真题·华为笔试题库
residual_fan20 小时前
数据缺失填补算法之CUR-Estimator
算法·数据挖掘·数据分析
wabs66620 小时前
关于二叉树【力扣107.二叉树的层序遍历II的思考】
数据结构·c++·算法·leetcode·二叉树·层序遍历
一切皆是因缘际会21 小时前
资源的适配
大数据·人工智能·算法
鲸能云21 小时前
【智慧能源】源储调售一体化架构与 EMS 滚动调度算法实践 —— 工商业光储收益提升 22% 的技术拆解
算法·架构·能源
双翌视觉21 小时前
曝光调不对,算法全白费:机器视觉的曝光三态解析
人工智能·算法·计算机视觉
ysu_031421 小时前
02-单链表完全指南
c语言·数据结构·算法·leetcode
ltqshs21 小时前
C语言-链表例程
c语言·开发语言·链表
生态学者21 小时前
香港理工大学Nature Communications:沿海塑料际古菌组特征及生态影响
大数据·人工智能·算法·r语言·微信公众平台
Lyyaoo.1 天前
【链表】【中等】两数相加/倒N删除/两个交换/排序链表/LRU缓存
数据结构·链表·缓存