【LeetCode刷题(数据结构与算法)】:合并两个有序链表

news2025/1/31 11:19:21

在这里插入图片描述
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的
在这里插入图片描述

**思路:定义一个头尾指针置为NULL while循环依次比较两个链表的值的大小 遍历链表 比较完数值大小过后连接到tail的尾部 然后各自的链表的节点的next指针指向下一个结点的地址

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */
struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2){
    if(list1==NULL)
    {
        return list2;
    }
    else if(list2==NULL)
    {
        return list1;
    }
    //定义一个head和tail
    //head和tail最初都置为NULL
    //tail=tail->next
    //尾部插入
    struct ListNode*head=NULL;
    struct ListNode*tail=NULL;
    while(list1&&list2)
    {
        //取小的尾部插入
        if(list1->val<list2->val)
        {
            if(tail==NULL)
            {
                head=tail=list1;
                //tail=tail->next;
            }
            else
            {
                tail->next=list1;
                tail=tail->next;
            }
            list1=list1->next;   
        }
        else
        {
            if(tail==NULL)
            {
                head=tail=list2;
            }
            else
            {
                tail->next=list2;
                tail=tail->next;
            }
            list2=list2->next; 
        }
    }
    if(list1)
    {
        tail->next=list1;
    }
    else if(list2)
    {
        tail->next=list2;
    }
    return head;
}

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

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

相关文章

短视频矩阵系统/pc、小程序版独立原发源码开发搭建上线

短视频剪辑矩阵系统开发源码----源头搭建 矩阵系统源码主要有三种框架&#xff1a;Spring、Struts和Hibernate。Spring框架是一个全栈式的Java应用程序开发框架&#xff0c;提供了IOC容器、AOP、事务管理等功能。Struts框架是一个MVC架构的Web应用程序框架&#xff0c;用于将数…

jq——基础操作——jq操作回顾(都忘光了。。。)

jq——基础操作——jq操作回顾 1.jq获取dom后遍历获取选中的内容2.正整数处理3.删除列表中的数据——获取每条数据是否选中(是否含有active类名)4.layer.confirm——确认提示框5.ajax——jq6.antd-table&#xff1a;更改整行背景色 1.jq获取dom后遍历获取选中的内容 let arr […

GeoServer改造Springboot启动一(创建springboot)

GeoServer改造Springboot启动一(创建springboot) GeoServer改造Springboot启动二(修改源码集成Swagger) GeoServer改造Springboot启动三(集成jdbcconfig和jdbcstore) GeoServer改造Springboot启动四(解决post接口方法无法用@requestbody为入参的请求) GeoServer改造…

云帆在线学习考试系统介绍

随着网络技术的不断发展&#xff0c;越来越多的人开始意识到在线学习和考试的重要性。在这个数字化时代&#xff0c;借助互联网平台&#xff0c;人们可以轻松地获取各种知识和技能&#xff0c;提升自己的竞争力。而云帆在线学习考试系统正是在这样的背景下应运而生的。云帆在线…

MySQL配置环境变量和启动登录

如果不配置环境变量&#xff0c;每次登录 MySQL 服务器时就必须进入到 MySQL 的 bin 目录下&#xff0c;也就是输入“cd C:\Program Files\MySQL\MySQL Server 5.7\bin”命令后&#xff0c;才能使用 MySQL 等其它命令工具&#xff0c;这样比较麻烦。配置环境变量以后就可以在任…

ES6 新特性重点部分

目录 一、ES6简介 二、ES6新特性 1.let变量声明 : 2.const常量声明 : 3.解构赋值 : 3.1 解构赋值简介 3.2 数组解构 3.3 对象解构 4.模板字符串 : 5.对象简写 : 6.运算符扩展 : 7.箭头函数 : 7.1 简介 7.2 实例 8.ES6---Promise : 9.ES6---模块化编程 : 一、ES6简介…

算法通过村第十五关-超大规模|青铜笔记|海量找数

文章目录 前言用4KB内存寻找重复数总结 前言 提示&#xff1a;并不是所有黑暗的地方&#xff0c;都需要光明。 --珍妮特温特森《句子不是唯一的水果》 在大部分算法中&#xff0c;默认给点给的数据量都是很小的&#xff0c;例如只有几个或者十几个元素&#xff0c;但是如果遇到…

如何定量对比两个图分类数据集的分布

以下来自gpt&#xff0c;若有勘误&#xff0c;欢迎指正&#xff1a; &#xff08;图片来自links &#xff0c;侵删&#xff09; 对于两个图分类数据集的分布&#xff0c;我们可以使用一些统计指标来进行定量对比。下面介绍一些常用的指标&#xff1a; 图分类准确率 图分类准确…

性能测试的指南:测试类型、性能测试步骤、最佳实践等

近期公司为了节省成本搞了一波机房迁移&#xff0c;整合了一些南美部署架构。有一些上google云和有些下阿里云等大的调整。 在做机房迁移项目当中就需要思考如何进行性能测试&#xff0c;这种大的机房迁移SRE&#xff08;运维&#xff09;会针对组件会做一些单组件的性能测试&a…

如何通过代码混淆绕过苹果机审,解决APP被拒问题

如何通过代码混淆绕过苹果机审&#xff0c;解决APP被拒问题 目录 iOS代码混淆 功能分析 实现流程 类名修改 方法名修改 生成垃圾代码 替换png等静态资源MD5 info.plist文件添加垃圾字段 功能分析 实现流程 类名修改 方法名修改 生成垃圾代码 替换png等静态资源MD…

aidl的注意事项

该篇继承自上一篇&#xff0c;上一篇也有一部分的注意事项&#xff0c;这一篇把其他的情况列出 一 客户段和服务端的aidl文件下的package名字要是一样的 二 server中的 manifest中的package名字&#xff0c;这个与上面两个包不能相同&#xff0c;不然在客户端设置intent的pa…

Vulnhub靶场之matrix-breakout-2-morpheus

简介&#xff1a; vulnhub是一个提供靶场环境的平台。今天从首页下载了一个来做&#xff0c;它叫matrix-breakout-2-morpheus。 项目下载地址&#xff1a;Matrix-Breakout: 2 Morpheus ~ VulnHub 0x01 信息收集 查看本机IP&#xff0c;靶机跟kali都是使用NAT模式&#xff0c;所…

【QT开发(4)】Qt Creator编译器修改,应用程序二进制接口(ABI)的版本;API、ABI、系统调用是什么?版本的选择(ABI和CPU版本)

文章目录 1.编译器的简介2 应用程序二进制接口&#xff08;ABI&#xff09;的版本3 API、ABI、系统调用是什么,以及这三个词的区别。3.1 什么是API?3.2 什么是ABI?3.3 API和系统调用有什么区别 4 Qt for Android——关于版本的选择(ABI和CPU版本)参考 1.编译器的简介 编译器…

【Linux】adduser命令使用

我们经常在linux系统中创建用户。有时候用的是 useradd 有时候用的是 adduser &#xff0c;好混乱啊到底用哪个啊。今天咱们一起来学习一下。 adduser与useradd的区别 useradd 命令是内置的 Linux 命令&#xff0c;在任何 Linux 系统中都可用。然而&#xff0c;使用这种低级…

Flink日志收集到数据库/kafka

引言 我们做项目过程中发现flink日志不同模式启动&#xff0c;存放位置不同&#xff0c;查找任务日志很不方便&#xff0c;具体问题如下&#xff1a; 原始flink的日志配置文件log4j-cli.properties appender.file.append false&#xff0c;取消追加&#xff0c;直接覆盖掉上…

Ansible---playbook 剧本

目录 一、playbook 1.1 playbook的组成 二、playbook的编写格式&#xff08;示例&#xff09; 1、定义、引用变量 2、指定远程主机sudo切换用户 3、when条件判断 4、迭代 5、Templates 模块 6、tags 模块 7、Roles 模块 一、playbook playbook是剧本的意思通过 task…

黑客技术(自学)——网络安全

前言 前几天发布了一篇 网络安全&#xff08;黑客&#xff09;自学 没想到收到了许多人的私信想要学习网安黑客技术&#xff01;却不知道从哪里开始学起&#xff01;怎么学&#xff1f;如何学&#xff1f; 今天给大家分享一下&#xff0c;很多人上来就说想学习黑客&#xff0c…

web安全之路的规划

前言 我自学过程中搜集的资料已经整理成一套完整的教程&#xff0c;需要的可以点击链接&#xff1a;CSDN大礼包&#xff1a;零基础到进阶全套学习教程&#xff0c;免费分享&#xff01; 我的web安全学习策略 一、开始前的思考 我真的喜欢搞安全吗? 我只是想通过安全赚钱钱…

2023年【安徽省安全员C证】考试内容及安徽省安全员C证考试报名

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 安徽省安全员C证考试内容是安全生产模拟考试一点通总题库中生成的一套安徽省安全员C证考试报名&#xff0c;安全生产模拟考试一点通上安徽省安全员C证作业手机同步练习。2023年【安徽省安全员C证】考试内容及安徽省安…

Vue - 标准开发方式、组件(全局、局部、props、事件传递)、插槽的使用

目录 一、Vue 1.1、标准开发方式 1.2、组件的使用 1.2.1、全局组件 1.2.2、局部组件 1.2.3、props 传递静态数据 1.2.4、props 传递动态数据 1.2.5、事件传递 1.2.6、插槽slot 一、Vue 1.1、标准开发方式 Vue 的标准开发方式是 SPA&#xff08;Single Page Applicatio…