合并两个有序链表,剑指offer,力扣
目录
力扣题目地址:
原题题目:
我们直接看题解吧:
解题方法:
审题目+事例+提示:
解题思路:
具体流程如下:
代码实现:
知识补充:
力扣题目地址:
21. 合并两个有序链表 - 力扣(LeetCode)
难度:简单
今天刷合并两个有序链表,大家有兴趣可以点上看看题目要求,试着做一下。
原题题目:
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
我们直接看题解吧:
解题方法:
方法1、递归
方法2、迭代
审题目+事例+提示:
- 两个链表的节点数目范围是
[0, 50]l1和l2均按 非递减顺序 排列
解题思路:
设L1,L2两个递增链表,合并成一个新的递增链表L3,
循环遍历依次比较两个链表的每一个节点,
若L1>L2,则L3的next指向L1,L1、L3下移一位,L1与L2继续比较,L2同理。
最后遍历结束,其中一个链表会剩下些节点,则直接加到L3即可
具体流程如下:

代码实现:
class Solution {public ListNode mergeTwoLists(ListNode list1, ListNode list2) {//虚节点的值为 0,它的值可以设置为任何的数,因为我们根本不需要使用它的值ListNode dum = new ListNode(0), cur = dum;//创建一个虚头结点,同时cur指向dumwhile (list1 != null && list2 != null) { //while循环结束条件为其中一个链表指向为空if (list1.val < list2.val) { //当L1<L2,cur.next指向L1cur.next = list1;list1 = list1.next; //L1下移动一位} else {cur.next = list2;list2 = list2.next;} cur = cur.next; //cur下移动一位,比较其中一个链表下一位与另一列 //链表的当前位}//循环结束,判断L1是否指向为空,L1非空则cur.next指向L1,L2反之cur.next = list1 != null ? list1 : list2;return dum.next;}
}
知识补充:
为什么要让cur=dum
链表头节点dum不能乱动,所以用cur暂代dum,让cur动,直接操作dum的话,最后返回就得重找头结点了
类似于浅拷贝后的对象和原对象的修改会相互影响,这本质是因为它们用的同一片内存,相当于一个房间配两把钥匙。但如果不是修改,而是直接赋值,它们是不会相互影响的,相当于换成了新房子的钥匙。
相关文章:
合并两个有序链表,剑指offer,力扣
目录 力扣题目地址: 原题题目: 我们直接看题解吧: 解题方法: 审题目事例提示: 解题思路: 具体流程如下: 代码实现: 知识补充: 力扣题目地址: 21. 合并两个有序…...
Delphi 12 Athens 发布了!
官方安装包 ☞ https://altd.embarcadero.com/download/radstudio/12.0/RADStudio_12_0_4915718.iso 安装辅助工具、控件可以戳这里 :Delphi 12 资源 RAD Stuido 12 Athens ,这次更新的细节还是比较多的,但主要还是多端(iOS、An…...
基于Haclon的Blob分析
任务要求: 请用BLOB分析的方法计算图中所有灰度值在120和255之间的像素构成的8连通区域的面积与中心点坐标。 Blob基础: 分析过程:首先获取图像,然后根据特征对原始图像进行阈值分割(区分背景像素和前景像素…...
安卓手机好用的清单软件有哪些?
生活中每个人都有丢三落四的习惯,伴随着生活节奏的加快,人们常忘事的情况会更加频繁的出现,这时候很多人就开始选择手机上记录清单类的软件,安卓手机在手机市场中占有很大的分量,在安卓手机上好用的记录清单的软件有哪…...
【追求卓越02】数据结构--链表
引导 今天我们进入链表的学习,我相信大家对链表都很熟悉。链表和数组一样,作为最基础的数据结构。在我们的工作中常常会使用到。但是我们真的了解到数组和链表的区别吗?什么时候使用数组,什么时候使用链表,能够正确的选…...
qt按照不同编码格式读取文字(UTF-16LE,UTF-8,UTF-8BOM,UTF-16BE)
enum class EncodingFormat : int {ANSI 0,//GBKUTF16LE,UTF16BE,UTF8,UTF8BOM, }; EncodingFormat VideoPlayer::FileCharacterEncoding(const QString &fileName) {//假定默认编码utf8EncodingFormat code EncodingFormat::UTF8;QFile file(fileName);if (file.open(QI…...
R语言和RStudio的下载安装(非常简便舒适)
目录 R语言和RStudio的关系R语言和Tableau下载R语言进入官网选择清华镜像源Download R for Windows选择base版本开始下载进行安装配置环境变量检查是否安装成功 下载RStudio进入官网点击下载进行安装检查是否安装成功打开选择R语言环境成功打开显示四个工作区 R语言和RStudio的…...
SQL注入漏洞发现和利用,以及SQL注入的防护
一、背景 SQL注入漏洞是一种常见的软件安全问题,它发生在应用程序的数据库层中。其核心原理是将用户输入的数据当做代码来执行,违反了“数据与代码分离”的原则。具体来说,攻击者通过构造恶意的SQL查询语句,使得应用程序在执行SQ…...
Jmeter 分布式压测
为什么要分布式 jmeter是100%纯java开发的程序,虚拟用户是以线程实现的,在大量并发情况下,很容易出现CPU、内存消耗过大的问题,甚至会出现java内存溢出。一般一台电脑设置500-600线程数即可,如果超过1000线程…...
Docker 安装 Apache
目录 拉取官方 Apache 镜像 查看本地镜像 列出正在运行的容器 运行 Apache 容器 创建一个 HTML 文件:index.html 访问 Apache 拉取官方 Apache 镜像 查找 Docker Hub 上的 httpd 镜像。 可以通过 Tags 查看其他版本的 httpd,默认是最新版本 httpd…...
python变量、常量、数据类型
一、变量 变量是存储在内存中的值,这就意味着在创建变量时会在内存中开辟一个空间。 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。 因此,变量可以指定不同的数据类型,这些变量可以…...
注册中心CAP架构剖析
Nacos 支持 AP 或 CP AP Nacos 通过临时节点实现 AP 架构,将服务列表放在内存中; CP Nacos 通过持久化节点实现 CP 架构,将服务列表放在文件中,并同步到内存,通过 Raft 协议算法实现; 通过配置 epheme…...
SVN创建分支
一 从本地创建方式可指定版本号进行分支创建。 1、在本地目录右击 -----> 点击branch/tag(分支/标签) From: 源,可指定具体的版本号, To path: 可通过"..."选择分支路径 最后点击确定,交由服务器执行创建。 二 通过SVN客…...
Vue 设置v-html中元素样式
使用方式: <<< img { max-width: 100% } 如:要将v-html中的图片元素(img)的最大宽度设置为100%. <template><div ><div class"rtfDiv book" v-html"content"></div></div> </template&…...
连接服务器的脚本
对于记不住的服务器密码且不愿用三方工具俺简单写了个脚本(检测下最近shell脚本的学习效果咋样) expect 是处理交互的一种脚本语言,spawn启动指定进程 -> expect获取指定关键字 -> send想指定进程发送指定指令 -> 执行完成后退出 sp…...
ChatGPT/GPT4丨编程助手;AI画图;数据分析;科研/项目实现;提示词工程技巧;论文写作等
ChatGPT 在论文写作与编程方面也具备强大的能力。无论是进行代码生成、错误调试还是解决编程难题,ChatGPT都能为您提供实用且高质量的建议和指导,提高编程效率和准确性。此外,ChatGPT是一位出色的合作伙伴,可以为您提供论文写作的…...
35的程序员被辞了可以自己接外包啊?为什么都那么悲观呢?
35的年纪,上有老下有小,即将步入中年危机,在这个节骨眼上被辞,能不悲观吗? 在这个年纪人们往往追求的是稳定的工作和生活,而进入一个自己不熟悉的行业并不是一个好的选择。 况且,你认为的外包…...
2020年09月 Scratch(三级)真题解析#中国电子学会#全国青少年软件编程等级考试
Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 执行下面程序,屏幕上最多会看到多少个苹果? A:10个 B:11个 C:1个 D:无法确定 答案:B 第2题 关于下面程序,说法正确的是 ? A:执行 后,马上执行...
SpringBoot面试之SpringBoot自动装配原理
SpringBoot自动装配原理 背景 最近因为各种原因,我又重新加入到了找工作的大军当中。昨天在面试的时候与面试官聊到我们项目都是基于SpringBoot开发的,然后面试官就顺口问了句:”SpringBoot项目会引入许多的starter,比如&#x…...
JavaScript:监听事件
该方法用于向浏览器窗口注册事件监听器,当指定的事件(如单击、按键按下)被触发时,浏览器会自动调用指定的函数(回调函数)。 window.addEventListener(event, function, useCapture); 参数说明:…...
如何在Windows电脑上轻松安装安卓APK文件:3分钟掌握终极解决方案
如何在Windows电脑上轻松安装安卓APK文件:3分钟掌握终极解决方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾经想在Windows电脑上直接运行安卓…...
PHP 8.9 Fiber vs Swoole vs RoadRunner:横向压测对比报告(含CPU/内存/错误率/启动耗时6维数据)
更多请点击: https://intelliparadigm.com 第一章:PHP 8.9 Fiber高并发架构演进与核心价值 PHP 8.9 并非官方已发布版本(截至 2024 年,PHP 最新稳定版为 8.3),但作为技术前瞻性的概念演进,&quo…...
从NeRF论文到代码实战:手把手教你复现ECCV2020经典3D重建(附避坑指南)
从NeRF论文到代码实战:手把手教你复现ECCV2020经典3D重建(附避坑指南) 在计算机视觉领域,神经辐射场(Neural Radiance Fields, NeRF)无疑是近年来最具突破性的技术之一。这项由ECCV2020会议发表的研究&…...
ohook安全分析:为什么它比传统KMS激活更安全可靠
ohook安全分析:为什么它比传统KMS激活更安全可靠 【免费下载链接】ohook An universal Office "activation" hook with main focus of enabling full functionality of subscription editions 项目地址: https://gitcode.com/gh_mirrors/oh/ohook …...
Winhance中文版:你的Windows系统优化终极指南 [特殊字符]
Winhance中文版:你的Windows系统优化终极指南 🚀 【免费下载链接】Winhance-zh_CN A Chinese version of Winhance. C# application designed to optimize and customize your Windows experience. 项目地址: https://gitcode.com/gh_mirrors/wi/Winha…...
[特殊字符]【AI Infra 核心】深度学习引擎底层的秘密:用现代 C++ 徒手实现高性能显存池
🚀【AI Infra 核心】深度学习引擎底层的秘密:用现代 C 徒手实现高性能显存池摘要:平时写 PyTorch,大家习惯了大手一挥 tensor.to(cuda),仿佛显存是无限且无代价的。但当你真正深入 AI 框架底层(如 PyTorch …...
告别网卡瓶颈:用Xilinx KU060 FPGA和10G/25G Ethernet Subsystem打造你的专属高速UDP网卡(附4套源码)
突破传统网卡极限:基于Xilinx KU060的10G/25G以太网子系统实战指南 在数据中心和云计算领域,网络带宽需求正以惊人的速度增长。传统PCIe网卡虽然性能稳定,但在灵活性、可定制性和成本效益方面存在明显局限。本文将带您探索如何利用Xilinx KU0…...
抖音无水印下载器完整指南:3分钟掌握免费批量下载技巧
抖音无水印下载器完整指南:3分钟掌握免费批量下载技巧 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback suppo…...
C2C模型在代码生成中的令牌化与层对齐优化实践
1. 项目概述 在自然语言处理领域,C2C(Code-to-Code)模型作为一种特殊的序列到序列架构,正在代码生成、代码补全和程序翻译等场景中展现出独特优势。不同于传统NLP任务,C2C模型需要处理高度结构化的编程语言语法&#x…...
保姆级教程:在野火STM32F429上用HAL库搞定LVGL 8.2移植(附触摸屏适配避坑)
野火STM32F429开发板LVGL 8.2移植实战指南 拿到野火STM32F429挑战者开发板和5寸电容屏,想快速搭建LVGUI开发环境却卡在HAL库配置、文件结构组织、触摸驱动适配等问题上?这篇保姆级教程将带你一步步完成LVGL 8.2在STM32F429平台上的完整移植,特…...
