合并有序链表---链表OJ---归并思想

news2024/12/23 18:28:15

https://leetcode.cn/problems/merge-two-sorted-lists/?envType=study-plan-v2&envId=top-100-liked

        将两个有序的链表合并为一个新的有序链表,那不就是和归并排序中最后合并的思想一样吗?只不过那里合并的是数组,这里合并的是链表。

        首先:如果有一个链表为空,那就直接返回另一个链表。

        同样,如果都为空,就返回NULL。

        同归并类似,如果合并过程中,有一个链表合并完成后,就将另一个链表的剩余部分全部接在最终链表的后面。

struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2) {
    if (list1 == NULL)
        return list2;
    if (list2 == NULL)
        return list1;

    struct ListNode* head; //创建头结点
    if (list1->val < list2->val) {
        head = list1;
        list1 = list1->next;
    } else {
        head = list2;
        list2 = list2->next;
    }
    struct ListNode* tmp = head; //用tmp来链接
    while (list1 && list2) {
        if (list1->val < list2->val) {
            tmp->next = list1;
            list1 = list1->next;
            tmp = tmp->next;
        } else {
            tmp->next = list2;
            list2 = list2->next;
            tmp = tmp->next;
        }
    }
    if (list1 == NULL) {
        tmp->next = list2;
    }
    if (list2 == NULL) {
        tmp->next = list1;
    }
    return head;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1418618.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

构建知识图谱:从技术到实战的完整指南

目录 一、概述二、知识图谱的基础理论定义与分类核心组成历史与发展 三、知识获取与预处理数据源选择数据清洗实体识别 四、知识表示方法知识表示模型RDFOWL属性图模型 本体构建关系提取与表示 五、知识图谱构建技术图数据库选择Neo4jArangoDB 构建流程数据预处理实体关系识别图…

C++类和对象引入以及类的介绍使用

文章目录 一、面向过程和面向对象的初步认识二、类的引入2.2 类的引入 三、类的访问限定符及封装3.3 访问限定符3.4 【面试题】C中struct和class的区别3.5 类的两种定义方式 四、封装【面试题】面向对象的三大特性 五、类的作用域六、类的实例化七、类对象模型7.1 类对象的存储…

[嵌入式系统-5]:龙芯1B 开发学习套件 -2- LoongIDE 集成开发环境集成开发环境的安装步骤

目录 一、LoongIDE&#xff08;龙芯开发工具集成环境&#xff09;概述 1.1 概述 二、软件开发环境的安装过程 2.0 注意事项 2.1 步骤1&#xff1a;MingW运行环境 2.2 步骤2&#xff1a;安装LoongIDE 2.3 步骤3&#xff1a;安装MIPS工具链 2.4 配置工具链 2.5 重启电脑…

做什么副业比较靠谱,这五个正规项目,记得收藏

人这一生不易&#xff0c;每个阶段都会有压力和烦恼&#xff0c;尤其是成年人&#xff0c;上有老下有小的&#xff0c;生活的重担都在一个人身上&#xff0c;压得人喘不过气。生活的方方面面都需要钱&#xff0c;仅靠工资已经很难维持一家人的开支了。所以很多人打算利用业余时…

基于YOLOv7算法和FLIR数据集的高精度实时红外行人目标检测系统(PyTorch+Pyside6+YOLOv7)

摘要&#xff1a;基于YOLOv7算法和FLIR数据集的高精度实时红外行人目标检测系统可用于日常生活中检测与定位自行车、汽车、狗和行人目标&#xff0c;此系统可完成对输入图片、视频、文件夹以及摄像头方式的目标检测与识别&#xff0c;同时本系统还支持检测结果可视化与导出。本…

Alexa Fluo350 NHS 酯,AF350活性酯,可用于标记胺修饰的寡核苷酸

您好&#xff0c;欢迎来到新研之家 文章关键词&#xff1a;AF350 Succinimidyl Ester&#xff0c;AF350 NHS Ester&#xff0c;Alexa Fluo350 NHS 酯&#xff0c;AF350活性酯 一、基本信息 产品简介&#xff1a;AF 350 is a blue fluorescent dye. AF 350 dye is used for s…

NPDP证书:让你的职业生涯飞升!

&#x1f31f;没错&#xff01;NPDP证书正在成为产品经理们的“新宠”&#xff01;越来越多的同行们纷纷选择考取NPDP证书&#xff0c;为什么这么火爆&#xff1f;一起来探究下吧&#xff01; &#x1f680;NPDP认证&#xff1a;产品经理的国际通行证 &#x1f4cd;NPDP&#x…

雪深传感器的工作原理

TH-XL2雪深传感器的工作原理主要是利用超声波的发射和反射来测量雪的厚度。传感器发射超声波&#xff0c;超声波遇到雪表面后会反射回来&#xff0c;传感器再接收反射回来的超声波&#xff0c;通过计算超声波的传播时间和速度&#xff0c;就可以得出雪的厚度。 另外&#xff0c…

给信息安全专业想做网络安全方面的人一些忠告

别一直打CTF 打CTF是为了打基础&#xff0c;大概知道一些基础就出来吧&#xff0c;千万不要一直打下去出不来了。简历上实习经历&#xff0c;项目经历以及漏洞成果才能构成一个不错的背景&#xff0c;只有ctf比赛会很尴尬。要知道有些人是py打比赛&#xff0c;面试官知道情况&…

根据两个主键查询变更日志 抽屉时间线降序

时间戳例子&#xff1a; <div class"block"><el-timeline><el-timeline-item timestamp"2018/4/12" placement"top"><el-card><h4>更新 Github 模板</h4><p>王小虎 提交于 2018/4/12 20:46</p>…

SimpleDateFormat 格式化 Date 时间戳

前言 Date 是 Java 中经常用来表示时间的类型&#xff0c;但将 Date 类型的数据发送给前端时&#xff0c;通常会呈现出乱码的状态&#xff0c;用户不宜理解&#xff0c;所以要通过 SimpleDateFormat 把 Date 类型的数据格式化为用户容易理解的格式 如下是 Date 的格式&#xff…

GIS应用水平考试一级—2009 年度第二次

全国信息化工程师——GIS应用水平考试 2009 年度第二次全国统一考试一级 试卷说明: 1、本试卷共9页,6个大题,满分150 分,150 分钟完卷。 2、考试方式为闭卷考试。 3、将第一、二、三題的答案用铅笔涂写到(NCIE-GIS)答题卡上。 4、将第四、五、六题的答案填写到主观题答题卡上…

ARP 地址解析协议

目录 ARP&#xff08;Address Resolution Protocol&#xff09; 地址解析协议 ARP 的作用 ARP 高速缓存 (ARP cache) ARP 工作过程 ARP 查找 IP 地址对应的 MAC地址 ARP 高速缓存的作用 不在同一局域网的两个主机运行ARP协议 使用 ARP 的四种典型情况 为什么要使用两种…

vcomp140.dll缺失的多种处理方法,教你4种方法修复vcomp140.dll

"vcomp140.dll缺失"是一个在电脑使用过程中较为普遍遇到的错误情况&#xff0c;这个问题可能会阻止许多程序的正常启动。vcomp140.dll是一个属于 Visual C Redistributable for Visual Studio 2015 的文件&#xff0c;对于运行那些基于 Visual Studio 2015 创建的应用…

从公有云对象存储迁移到回私有化 MinIO需要了解的所有信息

我们上一篇文章《如何从 AWS S3 遣返到 MinIO》的反响非常出色 - 我们已经接到了数十个企业的电话&#xff0c;要求我们提供遣返建议。我们已将这些回复汇总到这篇新文章中&#xff0c;其中我们更深入地研究了与遣返相关的成本和节省&#xff0c;以便您更轻松地进行自己的分析。…

Tomcat多实例配置与tomcat反向代理集群

目录 Tomcat多实例配置 1.首先配置Tomcat单实例 2.tomcat多实例配置 1.1复制单实例tomcat 1.2修改端口&#xff0c;以启动多实例。多实例之间端口不能一致 1.3对比文件不同之处 3.启动tomcat 4.检查端口查看是否启动: 5.测试浏览器访问 二、tomcat反向代理集群 1、负载…

Thymeleaf基础教程

系列文章目录 文章目录 系列文章目录一、Thymeleaf 语法规则二、Thymeleaf 语法分为以下 2 类标准表达式语法th 属性2.1 基础语法2.1.1 变量表达式 ${}2.1.2 选择变量表达式 *{}2.1.3 链接表达式 {} 2.1.4 消息表达式 三、常用的 th 标签四、迭代循环 一、Thymeleaf 语法规则 …

【MySQL】MVCC多版本并发控制

目录 一、数据库的并发场景二、多版本并发控制隐藏字段undo日志模拟MVCCRead View整体流程RC&#xff08;不可重复读&#xff09;和RR&#xff08;可重复读&#xff09;的本质区别 一、数据库的并发场景 数据库并发的场景无非如下三种&#xff1a; 读-读并发&#xff1a;不存…

web前端项目-实现录音功能【附源码】

录音功能 运行效果&#xff1a;本项目可实现录音软件的录音、存储、播放等功能 HTML源码&#xff1a; &#xff08;1&#xff09;index.html&#xff1a; <!DOCTYPE html> <html><head><meta http-equiv"Content-Type" content"text/h…

Linux线程API使用与分析

线程是操作系统进程调度器可调度的最小粒度的执行单元 执行ps -eLF查看线程 UID PID PPID LWP C NLWP SZ RSS PSR STIME TTY TIME CMD root 103724 103680 103724 0 14 23667 40048 1 Jan24 ? 00:00:13 /root/.vscode-serv…