当前位置: 首页 > news >正文

学习记录:js算法(二十五):合并两个有序链表

文章目录

    • 合并两个有序链表
      • 我的思路
      • 网上思路
    • 总结

合并两个有序链表

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。

图一
在这里插入图片描述

示例 1:(如图一)
输入:l1 = [1,2,4], l2 = [1,3,4]
输出:[1,1,2,3,4,4]示例 2:
输入:l1 = [], l2 = []
输出:[]示例 3:
输入:l1 = [], l2 = [0]
输出:[0]

我的思路
昨天没搞清楚,今天先来看看什么是链表:
链表是由数据+指针构造而成的,指针指向下一个节点的地址。如下图:
在这里插入图片描述
所以在定义 ListNode 结构的时候,就需要定义两个属性,一个是当前节点的值,一个是指向下一个节点地址,用来实现指针的功能。

网上思路
递归

我的思路

var mergeTwoLists = function (list1, list2) {const dummy = new ListNode(0);let current = dummy;while (list1 !== null && list2 !== null) {if (list1.val < list2.val) {current.next = list1;list1 = list1.next;} else {current.next = list2;list2 = list2.next;}current = current.next;}if (list1 !== null) {current.next = list1;} else if (list2 !== null) {current.next = list2;}return dummy.next;
}

讲解
思路:

  1. 创建一个虚拟头节点 dummy,用于简化链表操作。
  2. 使用 current 指针指向当前合并链表的末尾。
  3. 使用 while 循环遍历两个链表,比较当前节点的值,将较小的节点加入到新链表中。
  4. 当一个链表遍历完后,将另一个链表的剩余部分连接到新链表的末尾。
  5. 最后返回合并后的链表,跳过虚拟头节点。

网上思路

var mergeTwoLists = function(l1, l2) {if (l1 === null) {return l2;} else if (l2 === null) {return l1;} else if (l1.val < l2.val) {l1.next = mergeTwoLists(l1.next, l2);return l1;} else {l2.next = mergeTwoLists(l1, l2.next);return l2;}
};作者:力扣官方题解
链接:https://leetcode.cn/problems/merge-two-sorted-lists/solutions/226408/he-bing-liang-ge-you-xu-lian-biao-by-leetcode-solu/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

讲解
这是力扣官网的解法在这里插入图片描述

总结

正常的会了,但是递归的还没看太懂,回头继续学习。

相关文章:

学习记录:js算法(二十五):合并两个有序链表

文章目录 合并两个有序链表我的思路网上思路 总结 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 图一 示例 1&#xff1a;&#xff08;如图一&#xff09; 输入&#xff1a;l1 [1,2,4], l2 [1,3,4] …...

43. 1 ~ n 整数中 1 出现的次数【难】

comments: true difficulty: 中等 edit_url: https://github.com/doocs/leetcode/edit/main/lcof/%E9%9D%A2%E8%AF%95%E9%A2%9843.%201%EF%BD%9En%E6%95%B4%E6%95%B0%E4%B8%AD1%E5%87%BA%E7%8E%B0%E7%9A%84%E6%AC%A1%E6%95%B0/README.md 面试题 43. 1 &#xff5e; n 整数中 1 …...

K8S - 理解volumeMounts 中的subpath

在上一篇文章中 springboot service如何动态读取外部配置文件 介绍了springboot 中如何实时读取外部配置文件的内容 部署在K8S 接下来我把它部署在k8s 首先&#xff0c; 我们把配置文件放入项目某个目录 这步部是必须的&#xff0c; 毕竟我们要引入是项目外部的文件&#xf…...

java工程师成功转型大数据

时间&#xff1a;2024年09月06日 作者&#xff1a;小蒋聊技术 邮箱&#xff1a;wei_wei10163.com 微信&#xff1a;wei_wei10 音频&#xff1a;喜马拉雅 希望大家帮个忙&#xff01;如果大家有工作机会&#xff0c;希望帮小蒋推荐一下&#xff0c;小蒋希望遇到一个认真做事…...

visual studio 2022更新以后,之前的有些工程编译出错,升级到Visual studio Enterprise 2022 Preview解决

系列文章目录 文章目录 系列文章目录前言一、解决方法 前言 今天遇到一个问题&#xff1a;visual studio 2022升级成预览版以后&#xff0c;之前的有些工程编译出错。首先代码、项目设置都没有改变&#xff0c;只是更新了visual studio 2022。 在编译工程时&#xff0c;编译器…...

Linux 性能调优技巧

1理解 Linux 性能的基本组成 CPU 使用率&#xff1a;衡量 CPU 在单位时间内被占用的程度。内存使用&#xff1a;关注的是活跃内存与缓存内存的比例&#xff0c;以及是否有过多的交换。I/O 性能&#xff1a;磁盘读写速度直接影响应用程序的响应时间和吞吐量。网络性能&#xff…...

【网络安全】WordPress Uncontrolled Resource Consumption

未经许可,不得转载。 文章目录 WordPresswp-cron.php实战漏洞危害解决措施WordPress WordPress 是全球最广泛使用的内容管理系统(CMS),目前约有 43% 的网站依赖于它。由于其用户友好的界面和丰富的插件功能,WordPress 成为了全球最受欢迎的 CMS。 然而,在使用 WordPres…...

gitee绑定公钥后依旧无法使用_gitee push添加公钥无效

解决&#xff1a; 步骤按照官网操作即可&#xff1a;gitee官方说明 看看远程地址是否使用的http模式&#xff0c;是的话换ssh模式...

Linux 删除 当前下的 mysql-8.0.31 空文件夹

在Linux中&#xff0c;如果你想要删除当前目录下的名为mysql-8.0.31的空文件夹&#xff08;即该文件夹内没有任何文件或子文件夹&#xff09;&#xff0c;你可以使用rmdir命令。但是&#xff0c;如果mysql-8.0.31文件夹并非完全为空&#xff08;即它包含文件或子文件夹&#xf…...

2024,中国服务器操作系统迎云智主升浪

“主升浪”描述了股市中一轮行情中涨幅最大、上升持续时间最长的阶段。2024年&#xff0c;云与AI深度融合形成了数字经济主升浪&#xff0c;从而打开了中国服务器操作系统的黄金机遇期。 2024年注定将成为非常不平凡的一年。不仅是实现“十四五”规划目标任务的关键一年&#x…...

STM32快速复习(九)RTC时钟模块

文章目录 前言一、RTC是什么&#xff1f;RTC的工作原理&#xff1f;二、库函数以及示例1.标准库函数2.示例代码 总结 前言 STM32 的实时时钟&#xff08;RTC&#xff09;是一个独立的定时器。 STM32 的 RTC 模块拥有一组连续计数的计数器&#xff0c;在相应软件配置下&#xf…...

Nacos注册中心与OpenFeign远程调用

文章目录 一、注册中心原理二、Nacos注册中心三、服务注册四、服务发现五、OpenFeign 一、注册中心原理 在微服务当中必须有两个角色 服务提供者&#xff1a;提供接口供其它微服务访问 服务消费者&#xff1a;调用其它微服务提供的接口 在大型微服务项目中&#xff0c;服务提供…...

【基础算法总结】双指针

目录 一&#xff0c;双指针算法介绍二&#xff0c;算法原理和代码实现283.移动零1089.复写零202.快乐数11.盛最多水的容器611.有效三角形的个数LRC179.和为s的两个数15.三数之和18.四数之和 三&#xff0c;算法总结 一&#xff0c;双指针算法介绍 双指针算法是基础算法之一&am…...

教你制作一本一对一授权才能阅读的样本册

在这个信息时代&#xff0c;保护个人隐私变得越来越重要。一对一授权阅读机制&#xff0c;正是为了满足这一需求而诞生。今天&#xff0c;就让我来教你如何制作一本只有一对一授权才能阅读的样本册。这不仅适用于保护个人隐私&#xff0c;还能为企业、研究机构等提供安全、高效…...

【DEV工具-IDEA】idea的光标变成黑块了?

项目场景&#xff1a; 解决&#xff1a;windows&#xff1a;按一下insert键。...

没通过算法备案 或许是这几点你没做好

没通过算法备案 或许是这几点你没做好 当企业提交算法备案遭遇“不予通过”时&#xff0c;往往是因为一些看似微小却至关重要的细节未能达到标准。以下是一些常见的原因&#xff0c;希望能为准备备案的企业提供一些预警和指导&#xff1a; ICP备案缺失&#xff1a;互联网信息服…...

力扣172.阶乘后的0

class Solution {public int trailingZeroes(int n) {int ans 0;//本质&#xff1a;每5个数有一个5的倍数&#xff0c;每25个数有一个25的倍数……int num 5;while(n / num ! 0) {ans n/num;num * 5;}return ans;} }...

Oracle 19c数据库:Windows详细安装与配置指南

Oracle 19c的安装和配置是一个相对复杂但系统化的过程&#xff0c;本文演示如何在 Windows 系统下安装 Oracle数据库&#xff0c;安装足够的磁盘空间&#xff08;一般需要5~6个G&#xff0c;所以选剩余空间大的盘&#xff09;。以下是一个详细的步骤指南&#xff0c;包括准备工…...

解决职业摔跤手分类问题的算法与实现

解决职业摔跤手分类问题的算法与实现 引言问题定义算法设计二分图判定算法步骤伪代码C语言实现引言 在职业摔跤界,摔跤手通常被分为“娃娃脸”(“好人”)型和“高跟鞋”(“坏人”)型。在任意一对摔跤手之间,都有可能存在竞争关系。本文的目标是设计一个算法,用于判断是…...

微擎框架

微擎框架之——多级查询显示每项个数-Poison-CSDN博客微擎框架之——系统内置分页加载-CSDN博客 微擎-关于安装模块时出现:Could not resolve: www.52xbjs.com (Could not contact DNS servers)-Poison-CSDN博客...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站&#xff0c;会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后&#xff0c;网站没有变化的情况。 不熟悉siteground主机的新手&#xff0c;遇到这个问题&#xff0c;就很抓狂&#xff0c;明明是哪都没操作错误&#x…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例&#xff1a;使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例&#xff1a;使用OpenAI GPT-3进…...

Java - Mysql数据类型对应

Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

华为云FlexusDeepSeek征文&#xff5c;DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色&#xff0c;华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型&#xff0c;能助力我们轻松驾驭 DeepSeek-V3/R1&#xff0c;本文中将分享如何…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题

分区配置 (ptab.json) img 属性介绍&#xff1a; img 属性指定分区存放的 image 名称&#xff0c;指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件&#xff0c;则以 proj_name:binary_name 格式指定文件名&#xff0c; proj_name 为工程 名&…...

解读《网络安全法》最新修订,把握网络安全新趋势

《网络安全法》自2017年施行以来&#xff0c;在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂&#xff0c;网络攻击、数据泄露等事件频发&#xff0c;现行法律已难以完全适应新的风险挑战。 2025年3月28日&#xff0c;国家网信办会同相关部门起草了《网络安全…...

Golang——9、反射和文件操作

反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一&#xff1a;使用Read()读取文件2.3、方式二&#xff1a;bufio读取文件2.4、方式三&#xff1a;os.ReadFile读取2.5、写…...