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

输入:l1 = [1,2,4], l2 = [1,3,4]
输出:[1,1,2,3,4,4]
思路
每次递归都会比较当前两个节点的值,选择较小的节点作为合并后的链表的下一个节点,并继续递归合并剩余部分。(等于情况谁都可以,这里判给(list2))
这个过程会持续进行,直到有一个链表为空,然后将另一个链表直接连接到合并后的链表的末尾。因为是非递减的链表所以可以这样直接合并。
测试代码
class Solution{public ListNode mergeTwoLists(ListNode list1, ListNode list2) {if (list1==null)return list2;if (list2==null)return list1;if (list1.val<list2.val){list1.next=mergeTwoLists(list1.next, list2);return list1;}else {list2.next=mergeTwoLists(list1, list2.next);return list2;}}
}
复杂度
时间复杂度:
最坏情况下,每次递归都会处理一个节点,并且每个节点都需要比较和连接操作。
假设 n 是 list1 的长度,m 是 list2 的长度。
所以总体时间复杂度为 O(n + m)。
空间复杂度:
在最坏情况下,递归深度达到 n + m。
因此,空间复杂度为 O(n + m),线性级别。
测试结果

相关文章:
合并两个有序链表(leetcode)
题目 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4]思路 每次递归都会比较当前两个节点的值,选择较小的节点作为合并后的链…...
CAS之AtomicReference原理解析
如果你了解了AtomicInteger的工作原理,或者看了如下文章,知道了AtomicInteger只能对当个int类型共享变量做cas的缺点。 CAS之AtomicInteger原理解析_z275598733的博客-CSDN博客 那么AtomicReference就是来解决这个问题的。原理很类似,只是A…...
JS/JQ实现字符串加密成 HEX(十六进制) 字符串
应用场景: 1、数据传输:在网络通信或数据存储中,将字符串转换为十六进制格式可以确保数据的可靠传输和存储。十六进制字符串只包含数字和字母,而不涉及控制字符或其他特殊字符,因此避免了特殊字符在传输过程中引起的问…...
骨传导耳机怎么样?盘点五款适合室外佩戴的骨传导耳机
不知道各位出去玩的时候,有没有觉得外面的世界太喧嚣,需要一副耳机开启自己的小天地,相信有很多人都有这种习惯,在路上戴着耳机享受属于自己的那一片天地,可是市面上种类这么多耳机,该如何选择呢࿰…...
【flink】使用flink-web-ui提交作业报错
使用WebUI提交作业出现错误。 错误截图: 弹框信息: Server Response Message: org.apache.flink.runtime.rest.handler.RestHandlerException: Could not execute application.at org.apache.flink.runtime.webmonitor.handlers.JarRunHandler.lambda$h…...
「从零入门推荐系统」22:chatGPT、大模型在推荐系统中的应用
作者 | gongyouliu 编辑 | gongyouliu 提示:全文2.5万字,预计阅读时长2小时,可以先收藏再慢慢阅读。 我们在上一章介绍了chatGPT、大模型的基本概念、核心技术原理等基础知识,有了这些背景知识的铺垫,下面我们来介绍ch…...
机器学习---概述(一)
文章目录 1.人工智能、机器学习、深度学习2.机器学习的工作流程2.1 获取数据集2.2 数据基本处理2.3 特征工程2.3.1 特征提取2.3.2 特征预处理2.3.3 特征降维 2.4 机器学习2.5 模型评估 3.机器学习的算法分类3.1 监督学习3.1.1 回归问题3.1.2 分类问题 3.2 无监督学习3.3 半监督…...
概念解析 | AutoFed:面向异构数据的联邦多模态自动驾驶的学习框架
AutoFed:面向异构数据的联邦多模态自动驾驶的学习框架 注1:本文系“概念解析”系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是:面向异构数据的联邦学习在自动驾驶中的应用。 参考文献:Zheng T, Li A, Chen Z, et al. AutoFed: Heterogeneity-Aware F…...
vue3+uniapp自定义tabbar
首先把tabbar中的元素写在一个list中用v-for进行渲染 用一个interface进行定义接口,这样别人在review你的代码就可以清晰知道你的tabbar包含什么元素。 利用typescript特性进行类型定义,可以省去很多麻烦 import { reactive } from "vue" imp…...
stable diffusion webui 安装
安装环境:cuda10.2-cudnn8-devel-ubuntu18.04 torchtorchvision:[pytorch]pytorch官方安装法_torch1.13.1cu117_FL1623863129的博客-CSDN博客 error:RuntimeError: Couldnt determine Stable Diffusions hash: 69ae4b35e0a0f6ee1af8bb9a5d0016ccb27e36dc. 解决方法…...
csdn文章编辑器必备语法备用
前言 本文是为了记录csdn文章编辑器的必备语法,为写作小白提供更详细的写作规范技巧 csdn的质量分查询地址:质量分查询 这里的跳转链接,可以使用ctrlshift L 来输入链接 亦可以使用 链接: link. 🚀🚀🚀 &a…...
机器学习鲁棒性笔记
鲁棒性(Robustness)在统计学和数据分析中是一个重要的概念。它指的是某个统计方法或模型对于异常值或偏离数据集正常分布的情况的敏感程度。一个鲁棒性较好的方法能够在存在异常值或数据分布不符合假设的情况下依然给出可靠的结果,而不会被极…...
ubuntu 有 1 个软件包没有被完全安装或卸载
ubuntu 有 1 个软件包没有被完全安装或卸载,安装时出现问题,一直卡在 rti-connext-dds-5.3.1 安装问题上。 下面是我安装 sqlite3 出现的问题: sukaiG7-7500:~/1/111/workspace_ros_car_noetic$ sudo apt-get install sqlite3 正在读取软件…...
【QT调用ST-link-使用QT编写程序-调用ST-LINK_CLI.exe-烧写STM32F4xxx-基础样例】
【QT结合ST-link,使用QT编写程序,调用ST-LINK_CLI.exe,烧写STM32F4xxx-基础样例】 1、前言2、实验环境3、先前了解-自我总结4、实验过程(0)硬件连接与供电(1)安装&使用STM32 ST-LINK Utility࿰…...
高并发下的Java项目解决方案
高并发下的Java项目解决方案 在当今的互联网时代,高并发是Java项目在设计和开发过程中必须要考虑的重要因素之一。本文将详细介绍如何在Java项目中处理高并发的问题,并提供具体的解决方案。我们将主要讨论四个主要的主题:服务器扩展…...
华为推出手机系统云翻新服务:什么是云翻新?如何使用?
华为手机系统云翻新是华为推出的一项功能,旨在通过云服务提供系统翻新的服务。它可以帮助用户对手机的系统进行优化和更新,以提高手机的性能和流畅度。具体而言,华为手机系统云翻新功能提供了免费的云空间,用户可以将手机中的系统…...
修改时间和创建时间的设计问题
记录一次 在django框架开发中遇到问题: 想要的逻辑: 当在保存数据时,create_time字段只会在新建数据时被设置为当前时间,并且之后不会再修改,而modify_time字段在每次保存数据时都会被设置为当前时间也可以为空&…...
CentOS 搭建 Harbor 镜像仓库(图文详解)
本文目录 1. 下载 Harbor 安装包2. 解压3. 修改配置文件4. 安装 Harbor5. 修改 docker 配置6. docker 登录方式7. 访问 Harbor Web 界面8. 创建证书9. 生成证书10. 更新配置11. 网页登录 说明:在搭建 Harbor 镜像仓库之前,虚拟机要先安装 docker 和 dock…...
【云原生】k8s组件架构介绍与K8s最新版部署
个人主页:征服bug-CSDN博客 kubernetes专栏:kubernetes_征服bug的博客-CSDN博客 目录 1 集群组件 1.1 控制平面组件(Control Plane Components) 1.2 Node 组件 1.3 插件 (Addons) 2 集群架构详细 3 集群搭建[重点] 3.1 mi…...
你真的了解什么是生成式AI吗?
最近正好有这样的机会,让我给一群非技术人士介绍生成式AI,忙忙碌碌了一阵子,结果发现受众还是未能理解什么是生成式AI,到底和之前的AI有什么区别。因此希望此篇能够帮助普通人真正理解生成式AI,有个直观印象。 人工智…...
解锁B站4K视频下载:bilibili-downloader开源工具完全指南
解锁B站4K视频下载:bilibili-downloader开源工具完全指南 【免费下载链接】bilibili-downloader B站视频下载,支持下载大会员清晰度4K,持续更新中 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader 在数字内容爆炸的…...
Ubuntu 20.04下Python调用海康SDK,解决FastAPI与libssl.so.1.1冲突的完整避坑指南
Ubuntu 20.04下Python调用海康SDK与FastAPI的SSL冲突深度解析与工程实践 在物联网和安防系统开发领域,将海康威视设备接入Python后端服务已成为常见需求。但当开发者尝试在Ubuntu 20.04上使用FastAPI框架集成海康SDK时,往往会遭遇一个令人困惑的陷阱——…...
Firmament (FMT):以模型驱动重塑开源飞控开发范式
1. 为什么我们需要重新思考飞控开发方式 第一次接触无人机飞控开发的朋友,往往会被复杂的代码和调试过程吓到。传统开发模式下,开发者需要手动编写大量C/C代码来实现控制算法,调试时又得反复烧录固件、实地试飞。我见过不少团队花费80%时间在…...
DeepAnalyze参数详解:Llama3:8b模型在信息提炼任务中的Prompt工程与输出结构优化
DeepAnalyze参数详解:Llama3:8b模型在信息提炼任务中的Prompt工程与输出结构优化 1. 项目概述:深度文本分析引擎 DeepAnalyze是一个基于Ollama框架构建的本地化大模型应用,专门用于深度文本分析任务。这个引擎的核心功能是模仿专业文本分析…...
OpenClaw技能扩展指南:安装Qwen3-4B驱动的内容处理模块
OpenClaw技能扩展指南:安装Qwen3-4B驱动的内容处理模块 1. 为什么需要技能扩展? 上周我整理项目文档时,面对十几个Markdown文件的手动合并操作,突然意识到:OpenClaw的默认能力可能无法满足深度内容处理需求。这正是技…...
BepInEx终极指南:5个实战场景快速掌握Unity游戏插件开发框架
BepInEx终极指南:5个实战场景快速掌握Unity游戏插件开发框架 【免费下载链接】BepInEx Unity / XNA game patcher and plugin framework 项目地址: https://gitcode.com/GitHub_Trending/be/BepInEx BepInEx(Bepis Injector Extensible࿰…...
MongoDB EF Core 提供程序中的可查询加密和向量搜索
ngoDB Entity Framework (EF) Core 提供程序自 2024 年 5 月起正式发布。自发布以来,我们欣喜地看到 .NET 开发人员社区给予了积极的反馈,并且该提供程序在各种应用程序中得到了越来越广泛的采用。 该提供商使开发人员能够利用 LINQ 查询、更改跟踪和乐…...
脑机接口(BCI)全景解析:从原理到产业,开发者入局指南
脑机接口(BCI)全景解析:从原理到产业,开发者入局指南 引言 从帮助渐冻症患者“开口说话”,到用“意念”操控无人机,脑机接口(BCI)正从科幻走进现实,成为“AI for Scienc…...
告别Python!用C语言和llama.cpp API打造你的第一个本地大模型应用(附完整代码)
从Python到C语言:用llama.cpp构建高性能大模型推理引擎 当Python成为大模型开发的主流选择时,性能瓶颈也随之而来。对于需要低延迟、高吞吐的生产环境,C语言的性能优势开始显现。本文将带你从零开始,用llama.cpp的C API构建一个完…...
python-langchain框架(3-9-word文档加载 )
二、基于 LangChain 的功能亮点1. 原生 LangChain 组件,开箱即用直接使用 LangChain 社区提供的专业文档加载器,属于框架原生支持能力,无需自己编写解析逻辑,与 LangChain 整个 AI 开发生态无缝衔接。2. 纯文本精准提取࿰…...
