【数据结构】合并两个有序链表

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

Definition for singly-linked list.struct ListNode {int val;struct ListNode *next;};typedef struct ListNode ListNode;
struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2) {if(list1 ==NULL){return list2;}if(list2==NULL){return list1;}ListNode* l1=list1;ListNode* l2=list2;//创建新链表ListNode* listhead;ListNode* listtail;listhead=listtail=NULL;while(l1 && l2){//l1大if(l1->val > l2->val){//为空if(listhead==NULL){listhead=listtail=l2;}else{//不为空 尾插listtail->next=l2;listtail=listtail->next;}l2=l2->next;}else{//l2大//为空if(listhead == NULL){listhead=listtail=l1;}else{//不为空listtail->next=l1;listtail=listtail->next;}l1=l1->next;}}if(l1){listtail->next=l1;}if(l2){listtail->next=l2;}return listhead;
}

大框架就是把从小到大的依次放进新链表中。
先是判断一下如果链表1是空的话就直接返回链表2。如果链表2是空的话就直接返回链表1。然后创建新链表其实也可以先创建新链表在判断是否有空链表。

接下来就要比较了,用while循环判断条件是链表1和链表2(l1和l2)都不能为空。
在这里插入图片描述
在l1的值大于l2的值的情况下,因为是升序链表所以要先把小的放入链表中,如果新链表为空就把l2放入新链表中,如果新链表不为空就尾插。在l2大于l1的情况下,重复上面的步骤。注意在这之中不要忘了让节点的指针往后走。
在这里插入图片描述
像这种情况一个链表走完了,另一个链表还没有走完。我们就要判断了,如果l1不为空就把l1尾插,如果l2不为空就把l2尾插。

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

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

相关文章

【网络安全】对称加密、非对称加密以及密钥分配

目录 1、对称加密 2、非对称加密 3、如何分配对称密钥? 4、如何分配非对称密钥? 1、对称加密 所谓对称加密,就是指加密密钥与解密密钥都使用相同的密钥。如下图所示,通信双方使用的就是对称加密密钥。//代表:DES和…

《DiffusionNER: Boundary Diffusion for Named Entity Recognition》

Submitted 22 May, 2023; originally announced May 2023. Comments: Accepted to ACL 2023, submission version https://github.com/tricktreat/DiffusionNER 在这里插入图片描述 问题: 命名实体识别任务中存在的噪声跨度(边界不清晰&#xff09…

人工智能如何提高公司效率的 5 种方法

人工智能是当今最热门的话题之一,但并不是每个人都了解其对商业的价值规模。由此可见,现有的AI技术可以将企业的生产力提升40%。 在机器学习的帮助下,Netflix 利用自动化个性化推荐每年赚取 10 亿美元。当公司使用人工智能时,34%…

【QA】Git的底层原理

前言 本文通过一个简单的示例,来理解Git的底层原理。 示例 1、新建本地仓库并上传第一个文件 相关步骤: 新建仓库及创建文件查看文件状态将文件添加到暂存区将文件提交到本地仓库 HMTeenLAPTOP-46U4TV6K MINGW64 /d/GSF_Data/Github/Java/Git/git-…

【C语言】每日一题,快速提升(6)!

🔥博客主页🔥:【 坊钰_CSDN博客 】 欢迎各位点赞👍评论✍收藏⭐ 题目: 矩阵转置 有一个矩阵,他想知道转置后的矩阵(将矩阵的行列互换得到的新矩阵称为转置矩阵) 示例: 输…

深入了解Semaphore、CountDownLatch等实用工具的用法

哈喽,各位小伙伴们,你们好呀,我是喵手。 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。 我是一名后…

JRT质控打印

最近客户端打磨完了,又来推进质控了。之前演示的打印都是Demo示例,这次真正的写质控图的打印,数据就是质控数据录入界面录入的数据。其中质控图打印应该算最复杂的类型了。涉及JS的绘图,打印表格等,表格比较简单、还没…

端点安全管理系统干什么用的 有哪些好用?

你听说过: 端点安全管理系统吗? 我们一起来了解一下啊 一、什么是端点安全管理系统? 端点安全管理系统(Endpoint Security Management System)是一种专门用于保护企业内部网络终端设备的综合性安全解决方案。 这些终…

全国省级金融发展水平数据集(2000-2022年)

01、数据简介 金融发展水平是一个国家或地区经济实力和国际竞争力的重要体现。它反映了金融体系的成熟程度和发展水平,是衡量一个国家或地区经济发展质量的重要指标。金融发展水平的提高,意味着金融体系能够更好地服务实体经济,推动经济增长…

Servlet(写一个Hello Worldt)【一】

文章目录 一、Servlet 目的 ----- 实现动态页面二、编写一个 Servlet 的Hello World2.1 创建项目2.2 处理文件夹2.3 引入依赖2.4 手动创建一些必要的目录/文件2.5 编写代码2.6 打包程序2.7 部署2.8 验证程序是否能正常工作 一、Servlet 目的 ----- 实现动态页面 静态页面 VS 动…

安卓免费抠图、AI绘图、修图软件——SnapEdit

一、前言 AI绘图原理主要基于深度学习和神经网络技术,通过训练数据集中的图像,从中学习并提取特征,进而生成新的图像。这一过程涉及到多种技术和模型,包括但不限于VAE(变分自编码器)、auto-encoder、GAN&a…

后端工程师——C++工程师如何准备面试?

相比 Java 语言方向,C++ 入门简单,精通难,找工作竞争压力更小,但 C++ 依然是近年来招聘的热门岗位之一。本文将从以下三个方面进行详细讲解,帮助你对 C++ 相关岗位的就业前景、岗位要求、学习路线等有更充分的了解。 C++工程师面试准备 上两篇文章对 C++ 工程师的招聘需求…

2024年世界排名TOP250医院榜单发布|医学访学/博后/联培博士参考

作为医学类的访问学者、博士后及联合培养博士们,都希望到世界知名医院进行临床研修交流及科研学习。2024年世界最佳医院排行榜的发布为申请者提供了可选目标,现知识人网小编整理刊出。 近日,美国《新闻周刊》(Newsweek&#xff09…

To String的几个作用

To String的几个作用 一、Object类中toString的作用 1、在主方法中我们可以直接用toString输出对象其中的内容 2、我们需要直接输出对象中所属内容时,直接使用toString方法输出语句,输出内容不友好,不便于阅读 子类: public c…

Linux 进程管理快捷键 ctrl+z、ctrl+c、ctrl+\、ctrl+d介绍

在Linux系统中,可以使用一些特定的键盘快捷键来管理后台进程和控制终端的行为。下面是对这些快捷键的介绍: 1 CtrlZ(挂起): 在终端中运行程序时,你可以使用CtrlZ来将其挂起,即将其移动到后台并…

Pytorch:张量的梯度计算

目录 一、自动微分简单介绍1、基本原理2、梯度计算过程3、示例:基于 PyTorch 的自动微分a.示例详解b.梯度计算过程c.可视化计算图 4、总结 二、为什么要计算损失,为何权重更新是对的?1、梯度下降数学原理2、梯度上升 三、在模型中使用自动微分…

【U+】U+智享版运维平台账号密码重置

【问题描述】 友加畅捷系列中的U智享版软件, 系统运维平台账号admin密码忘记了,无法登录。 【解决方法】 在软件的安装目录下,找到sysconfig_accounts文件,并删除。 【路径:X:\U系列软件\U智享版\WebSite\config\】 …

【算法基础实验】图论-UnionFind连通性检测之quick-union

Union-Find连通性检测之quick-union 理论基础 在图论和计算机科学中,Union-Find 或并查集是一种用于处理一组元素分成的多个不相交集合(即连通分量)的情况,并能快速回答这组元素中任意两个元素是否在同一集合中的问题。Union-Fi…

AI技术宝库:一键收藏全球最全面的人工智能资源网站

1、KKAI(kk.zlrxjh.top) R5AI是一种融合了星火大模型与文心大模型的知识增强型大语言模型,主要聚焦于自然语言处理(NLP)的技术开发。 该模型具有卓越的语义理解和文本生成能力,可以有效处理多种复杂的自然语…

python爬虫-----深入了解 requests 库下篇(第二十六天)

🎈🎈作者主页: 喔的嘛呀🎈🎈 🎈🎈所属专栏:python爬虫学习🎈🎈 ✨✨谢谢大家捧场,祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天…