Leetcode. 21 合并两个有序列表
尾插
核心思路:依次比较 ,取经过比较后较小值进行尾插
cur1 指向list1 ,cur 2指向list2 ,当cur1走完list1 或者cur2 走完list2 后停止
如果cur1走完list1 ,可以将cur2 整个拿下来尾插
如果cur2走完list2 ,可以将cur1 整个拿下来尾插
特殊情况 : 如果list1 是空链表 返回 list2
如果list2 是空链表 返回 list1

struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2)
{struct ListNode*tail = NULL ;struct ListNode* cur1 = list1 ;struct ListNode* cur2 = list2;struct ListNode* head = NULL;//空链表if(list1 ==NULL){return list2 ;}if( list2 ==NULL){return list1 ;}//非空链表//依次比较 while ( cur1 && cur2) //其中一个链表走完了就结束循环{if( cur1->val < cur2->val) //list1 <list2{//尾插if ( head == NULL) {head =tail =cur1 ;}else {tail->next= cur1 ;tail =tail->next ;}cur1 =cur1->next ;}else {if ( head ==NULL) {head =tail =cur2 ;}else {tail->next= cur2 ;tail =tail->next ;}cur2 =cur2->next ;}}if( cur1) //cur2已经走完list2 ,直接将cur1整个拿下来尾插{tail->next =cur1 ;} if( cur2) //cur1已经走完list1 ,直接将cur2整个拿下来尾插{tail->next =cur2 ;} return head ;
}
哨兵位头节点
哨兵位头节点 是一个附加的链表节点.该节点作为第一个节点,它的数据域不存储任何东西
只是为了操作的方便而引入的
如果一个链表有哨兵节点的话,那么线性表的第一个元素应该是链表的第二个节点
也就是说返回这个链表,应该返回哨兵位的next,因为哨兵位的next才是有效的真实的头节点
要注意使用完哨兵位头节点后,对其进行释放,避免内存泄漏
哨兵位头节点相比较上面的解法 ,不需要判断tail是否为空 (tail 不会为空)

struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2)
{struct ListNode* guard = (struct ListNode*)malloc( sizeof(struct ListNode)); struct ListNode* tail = guard ;struct ListNode* cur1 = list1 ;struct ListNode* cur2 = list2 ;tail->next = NULL ;while ( cur1 &&cur2) //两个链表都不为空{//尾插 if( cur1->val < cur2->val){tail->next = cur1 ;cur1 = cur1->next ; tail = tail->next ;}else {tail->next = cur2 ;cur2 = cur2->next ; tail = tail->next ; }} // cur1 走完list1 if( cur2){tail->next = cur2 ;}if( cur1) // cur2 走完list2 {tail->next = cur1 ;} struct ListNode* head = guard->next ; return head ;free(guard);//要注意使用完哨兵位头节点后,对其进行释放,避免内存泄漏}
如果你觉得这篇文章对你有帮助,不妨动动手指给点赞收藏加转发,给鄃鳕一个大大的关注
你们的每一次支持都将转化为我前进的动力!!!
相关文章:
Leetcode. 21 合并两个有序列表
尾插 核心思路:依次比较 ,取经过比较后较小值进行尾插 cur1 指向list1 ,cur 2指向list2 ,当cur1走完list1 或者cur2 走完list2 后停止 如果cur1走完list1 ,可以将cur2 整个拿下来尾插 如果cur2走完list2 ,可以将cur1 整个拿下来尾插 特殊情况 ࿱…...
使用 Wall 教你搭建 照片墙 和 视频墙
下载 Github:https://github.com/super-tongyao/wall 国内仓库(不推荐,只做加速访问,无编译包和发行版,以github仓库为准):https://gitee.com/Super_TongYao/wall 推荐github仓库,下载最新版…...
0103 MySQL06
1.事务 1.一个事务其实就是一个完整的业务逻辑 如:转账,从A账户向B账户转账10000,将A账户的钱减去10000(update),将B账户的钱加上10000(update),这就是一个完整的业务逻…...
【UE4 RTS游戏】04-摄像机运动_鼠标移动到视口边缘时移动Pawn
效果可以看到当鼠标移动到视口边缘时,Pawn就会向这个方向移动。步骤打开项目设置,添加两个操作映射打开“CameraPawnController”,在事件图表中添加两个浮点型变量,一个为公有一个为私有。分别命名为“ZoomSensitivity”、“MaxAr…...
147597-66-8,p-SCN-Bn-NOTA,NOTA-P-苯-NCS新型双功能螯合剂
p-SCN-Bn-NOTA | NOTA-P-苯-NCS | CAS:147597-66-8 | 纯度:95%1.p-SCN-Bn-NOTA试剂信息:CAS号:147597-66-8外观:白色固体分子量:C20H26N4O6S分子式:448.4928溶解性:溶于有机溶剂&…...
JDK解压安装及idea开发工具配置
1. 安装JDK 1.1 下载安装包 下载安装包,直接解压,注意,解压的路径不要有中文 1.2 配置环境变量 右键点击我的电脑,选择属性 选择高级系统设置 选择环境变量 选择新建 在变量名中输入JAVA_HOME,变量值就是1.1中压缩包…...
使用Ubuntu中的Docker部署Remix
一、简介1.博主这里使用的是腾讯云的服务,然后使用Docker进行部署Remix。2.踩了几个坑,没有花费过多时间,所以这篇文章会记录踩过的坑。然后避免你们掉进去,然后花费过多时间。3.这里就不写怎么安装Docker了,因为博主上…...
【MySQL】P9 多表查询(3) - 子查询
子查询子查询基本概念(公式)子查询分类按照结果分类标量 子查询列 子查询行 子查询表 子查询子查询 基本概念(公式) SQL查询语句中嵌套Select语句,称为嵌套查询,亦称为子查询; select * from…...
SpringMVC中的拦截器不生效的问题解决以及衍生出的WebMvcConfigurationSupport继承问题思考
文章目录SpringMVC中的拦截器不生效的问题解决WebMvcConfigurationSupport继承问题思考SpringMVC中的拦截器不生效的问题解决 过滤器代码(被Spring扫描并管理): Component public class StuInterceptor implements HandlerInterceptor {Overridepublic boolean pr…...
【量化交易笔记】3.实现数据库保存数据
上一节,我们通过下载相关的 pandas 数据保存为 本地csv文件,这一节将上节的数据以数据库方式保存。 数据库保存 采集数据部分前一节已做说明,这里就直接用采用前面的内容。这里着重说明的事数据库连接。对与 python 相连接的数据库有很多&a…...
[数据结构]:15-堆排序(顺序表指针实现形式)(C语言实现)
目录 前言 已完成内容 堆排序实现 01-开发环境 02-文件布局 03-代码 01-主函数 02-头文件 03-PSeqListFunction.cpp 04-SortCommon.cpp 05-SortFunction.cpp 结语 前言 此专栏包含408考研数据结构全部内容,除其中使用到C引用外,全为C语言代码…...
蓝桥 卷“兔”来袭编程竞赛专场-02破解曾公亮密码 题解
赛题介绍 挑战介绍 曾公亮编撰的《武经总要》中记载了一套严谨的军事通信密码,这也是目前发现我国古代战争中最早使用的军用密码表。将战场上可能常用到的情况,用 40 个短语归纳表示,且每个短语前编有固定的数字代码,这 40 个短…...
CSS定位
🍓个人主页:bit.. 🍒系列专栏:Linux(Ubuntu)入门必看 C语言刷题 数据结构与算法 HTML和CSS3 目录 1.1为什么需要定位? 1.2定位组成 1.3静态定位static(了解) 1.4相对定位 relative …...
python sympy库
sympy库是python的符号运算库,是电脑辅助简单数学函数计算的好工具。本文简单记录了一下有关sympy的方法。建议使用jupyter notebook,这样输出的函数很好看。 文章目录sympy基础安装自变量(Symbols)函数表达式(Expr&am…...
达梦数据库统计信息的导出导入
一、统计信息对象统计信息描述了对象数据的分布特征。统计信息是优化器的代价计算的依据,可以帮助优化器较精确地估算成本,对执行计划的选择起着至关重要的作用。统计信息的收集频率是一把双刃剑,频率太低导致统计信息滞后,频率太…...
信息系统基本知识(六)
大纲 信息系统与信息化信息系统开发方法常规信息系统集成技术软件工程新一代信息技术信息系统安全技术信息化发展与应用信息系统服务管理信息系统服务规划企业首席信息管及其责任 1.7 信息化发展与应用 我国在“十三五”规划纲要中,将培育人工智能、移动智能终端…...
<C++>智能指针
1. 智能指针 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<memory> using namespace std;int div() {int a, b;cin >> a >> b;if (b 0)throw invalid_argument("除0错误");return a / b; }void func() {int* p1 new in…...
1.分析vmlinux可执行文件是如何生成的? 2.整理内核编译流程:uImage/zImage/Image/vmlinx之间关系
一、分析vmlinux可执行文件是如何生成的? 1、分析内核的底层 makefile 如下: vmlinux: scripts/link-vmlinux.sh vmlinux_prereq $(vmlinux-deps) FORCE$(call if_changed,link-vmlinux)vmlinux_prereq: $(vmlinux-deps) FORCE发现vmlinux的生成主要依…...
数据结构4——线性表3:线性表的链式结构
基本概念 链式存储结构用一组物理位置任意的存储单元来存放线性表的数据元素。 这组存储单元既可以是连续的又可以是不连续的甚至是零散分布在任意位置上的。所以链表中元素的逻辑次序和物理次序不一定相同。而正是因为这一点,所以我们要利用别的方法将这些…...
weblogic 忘记密码重置密码
解决:weblogic 忘记密码 weblogic安装后,很久不用,忘记访问控制台的用户名或者密码,可通过以下步骤来重置用户名密码。 版本:WebLogic Server 11g 说明:%DOMAIN_HOME%:指WebLogic Server 域(…...
如何重塑贴吧体验:贴吧Lite带来的极致纯净浏览革新
如何重塑贴吧体验:贴吧Lite带来的极致纯净浏览革新 【免费下载链接】TiebaLite 贴吧 Lite 项目地址: https://gitcode.com/gh_mirrors/tieb/TiebaLite 厌倦了官方贴吧应用的臃肿体验和无处不在的广告干扰?贴吧Lite作为一款革命性的第三方贴吧客户…...
Oracle EBS的退货处理逻辑
1.1日库存数量1个 价格20元 库存价值1*2020元,采用移动平均成本法2.1日PO1 采购价格 10元 数量3个 入库3个 此时库存价值为 203*1050元 平均价格为 50/412.5元3.1日PO2 采购价格 20元 数量6个 入库6个 此时库存价值为 203020*6170元 平均价格为 170/1017元5.1日PO1 …...
从零入门 OpenAI Codex|登录、权限、终端、记忆配置全实操
我先来简单介绍一下Codex。 Codex是 OpenAI 推出的 AI 编程模型与工具系列。Codex 最初于 2021 年作为 OpenAI API 的一部分发布,基于 GPT 架构专门针对代码数据进行了训练。2024 至 2025 年间,OpenAI 推出了独立的 Codex CLI命令行工具,使其…...
PwnKit漏洞深度解析:pkexec环境变量劫持与Linux提权原理
1. 这个漏洞不是“又一个提权”,而是Linux权限模型的照妖镜你可能已经看过不少关于CVE-2021-4034的通报,标题里常带着“高危”“远程可利用”“影响所有主流发行版”这类字眼。但说实话,我第一次在Debian 11上复现成功时,并没有立…...
【Android】Hypic 醒图国际版 最新版-免登录
【Android】Hypic 醒图国际版 最新版-解锁永久会员-免登录 链接:https://pan.xunlei.com/s/VOtJaC8K4sK_rrqnINu3HULdA1?pwddfdj# Hypic醒图国际版是一款功能强大的照片编辑应用程序,专为满足专业摄影师和业余爱好者的多样化需求而设计。...
从仿真曲线到实际性能:手把手教你用IPKISS分析MZI Lattice Filter的插损与带宽
从仿真曲线到实际性能:手把手教你用IPKISS分析MZI Lattice Filter的插损与带宽 在光子集成电路设计中,仿真结果往往只是第一步。真正考验工程师功力的,是如何从这些曲线中提取出有工程价值的性能指标。本文将带您深入解读MZI Lattice Filter的…...
揭秘FPGA内部世界:PrjXRay开源工具完整指南
揭秘FPGA内部世界:PrjXRay开源工具完整指南 【免费下载链接】prjxray Documenting the Xilinx 7-series bit-stream format. 项目地址: https://gitcode.com/gh_mirrors/pr/prjxray 你是否曾好奇FPGA芯片内部的神秘世界?那些二进制位流背后究竟隐…...
终极SSDTTime指南:快速免费的系统硬件优化神器
终极SSDTTime指南:快速免费的系统硬件优化神器 【免费下载链接】SSDTTime SSDT/DSDT hotpatch attempts. 项目地址: https://gitcode.com/gh_mirrors/ss/SSDTTime 在计算机硬件优化领域,SSDTTime是一款革命性的跨平台工具,专为简化SSD…...
如何用嘎嘎降AI处理金融学论文:金融学毕业论文降AI免费完整操作教程
如何用嘎嘎降AI处理金融学论文:金融学毕业论文降AI免费完整操作教程 这篇教程是针对金融学论文降AI教程写的——问得最多的操作细节,都在这里。 主工具:嘎嘎降AI(www.aigcleaner.com),4.8元一篇ÿ…...
中国工业物理AI落地优势显著,江行智能全栈模型架构助力工业变革
中国工业物理AI的优势与落地情况中国工业物理AI的真正优势不在于模型参数,而在于全球12倍的工业机器人部署密度、两倍的发电量和密集的5G边缘节点。场景密度、基建底座和开源模型的合力,正推动物理AI从实验室走向规模化落地。江行智能提出的工业物理AI三…...
