【专题一 递归】21. 合并两个有序链表

1.题目解析

2.讲解算法原理

解法:递归-> 重复的子问题

  • 重复子问题 ->函数头的设计
    •  合并两个有序链表--->Node dfs(l1,l2)
  • 只关心某一个子问题在做什么事情 ->函数体的设计
    • 比大小
    • l1→next = dfs( l1.next, l2)
    • return l1
  • 递归的出口
    • if(l1==null)return l2

3.编写代码

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode mergeTwoLists(ListNode list1, ListNode list2) {ListNode head=dfs(list1,list2);return head;}public ListNode dfs(ListNode list1, ListNode list2) {if(list1==null){return list2;}if(list2==null){return list1;}if(list1.val<=list2.val){list1.next= dfs(list1.next,list2);return list1;}else{list2.next= dfs(list1,list2.next);return list2;}}
}

                                                                                                                                                                                   

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

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

相关文章

OpenCV基础:获取子矩阵的几种方式

目录 相关阅读 方法一&#xff1a;使用切片操作 方法二&#xff1a;使用高级索引 方法三&#xff1a;使用条件筛选 方法四&#xff1a;使用 numpy 的 take 函数 相关阅读 OpenCV基础&#xff1a;矩阵的创建、检索与赋值-CSDN博客 OpenCV基础&#xff1a;图像运算-CSDN博客…

Java语言的数据结构

Java 提供了多种内置的数据结构&#xff0c;这些数据结构可以分为两大类&#xff1a;基本的数组&#xff08;Array&#xff09;和集合框架&#xff08;Collections Framework&#xff09;。集合框架又细分为多个接口和实现类&#xff0c;提供了丰富的功能来管理对象集合。以下是…

Visual Studio Community 2022(VS2022)安装方法

废话不多说直接上图&#xff1a; 直接上步骤&#xff1a; 1&#xff0c;首先可以下载安装一个Visual Studio安装器&#xff0c;叫做Visual Studio installer。这个安装文件很小&#xff0c;很快就安装完成了。 2&#xff0c;打开Visual Studio installer 小软件 3&#xff0c…

vue3学习三

五 计算属性 定义 选项式 export default {data(){return {num:1}},computed:{num1(){this.num1}} } 组合式 import {ref,computed} from vuelet numref(0); //仅读 let num1 computed(()>{return num.value1 }) 计算时依赖的变量数据发生变化&#xff0c;则计算属性…

学习threejs,使用OrbitControls相机控制器

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️THREE.OrbitControls 相机控…

【2024年华为OD机试】 (B卷,100分)- 流水线(Java JS PythonC/C++)

一、问题描述 题目描述 一个工厂有 m 条流水线&#xff0c;来并行完成 n 个独立的作业&#xff0c;该工厂设置了一个调度系统&#xff0c;在安排作业时&#xff0c;总是优先执行处理时间最短的作业。 现给定流水线个数 m&#xff0c;需要完成的作业数 n&#xff0c;每个作业…

opencv图像基础学习

2.3图像的加密解密 源码如下&#xff1a; import cv2 import numpy as np import matplotlib.pyplot as plt def passImg():imgcv2.imread(./image/cat.jpg,0)h,wimg.shape#生成一个密码&#xff0c;加密key_imgnp.random.randint(0,256,size(h,w),dtypenp.uint8)img_addmcv2…

【机器学习】零售行业的智慧升级:机器学习驱动的精准营销与库存管理

我的个人主页 我的领域&#xff1a;人工智能篇&#xff0c;希望能帮助到大家&#xff01;&#xff01;&#xff01;&#x1f44d;点赞 收藏❤ 在当今数字化浪潮汹涌澎湃的时代&#xff0c;零售行业正站在转型升级的十字路口。市场竞争的白热化使得企业必须另辟蹊径&#xff0…

Navicat Premium 原生支持阿里云 PolarDB 数据库

近日&#xff0c;我司旗下的 Navicat Premium 软件通过了阿里云 PolarDB 数据库产品生态集成认证&#xff0c;这标志着 Navicat 通过原生技术全面实现了对秒级弹性、高性价比、稳定可靠的PolarDB 数据库三大引擎&#xff08;PolarDB MySQL版、PolarDB PostgreSQL版和 PolarDB f…

【SpringBoot应用篇】SpringBoot+MDC+自定义Filter操作traceId实现日志链路追踪

【SpringBoot应用篇】SpringBootMDC自定义Filter操作traceId实现日志链路追踪 解决的问题解决方案MDC具体逻辑ymllogback-spring.xmlTraceIdUtil操作工具类TraceIdFilter自定义过滤器GlobalExceptionHandler全局异常处理类TraceIdAspect切面UserController测试验证 多线程处理M…

python如何解析word文件格式(.docx)

python如何解析word文件格式&#xff08;.docx&#xff09; .docx文件遵从开源的“Office Open XML标准”&#xff0c;这意味着我们能用python的文本操作对它进行操作&#xff08;实际上PPT和Excel也是&#xff09;。而且这并不是重复造轮子&#xff0c;因为市面上操作.docx的…

android wifi framework与wpa_supplicant的交互

android frmework直接与wpa_supplicant进行交互&#xff0c;使用aidl或者hidl 二、事件 framework注册事件的地方&#xff1a; packages/modules/Wifi/service/java/com/android/server/wifi/SupplicantStaIfaceCallbackImpl.java class SupplicantStaIfaceCallbackImpl exte…

python爬虫报错日记

python爬虫报错日记 类未定义 原因&#xff1a;代码检查没有问题**&#xff0c;位置错了**&#xff0c;测试代码包含在类里…… UnicodedecodeError错误 原因&#xff1a;字符没有自动转换成utf-8格式 KeyError&#xff1a;“href” 原因&#xff1a;前面运行正常&#x…

[ Spring ] Install Nacos on Ubuntu24

文章目录 Download Nacos Package and UnzipConfigure NacosConfigure JAVA_HOME for Bash FileConfigure Default User and PasswordStartup NacosVisit Admin Webpage Download Nacos Package and Unzip https://github.com/alibaba/nacos/releases/download/3.0.0-alpha/na…

Swift语言的多线程编程

Swift语言的多线程编程 在现代软件开发中&#xff0c;多线程编程是提高应用性能和响应速度的重要手段。尤其是在 iOS 和 macOS 开发中&#xff0c;由于用户界面(UI)的交互性和复杂性&#xff0c;合理利用多线程可以极大地提升用户体验。本文将深入探讨 Swift 语言中的多线程编…

第34天:Web开发-PHP应用鉴别修复AI算法流量检测PHP.INI通用过滤内置函数

#知识点 1、安全开发-原生PHP-PHP.INI安全 2、安全开发-原生PHP-全局文件&单函数 3、安全开发-原生PHP-流量检测&AI算法 一、通用-PHP.INI设置 参考&#xff1a; https://www.yisu.com/ask/28100386.html https://blog.csdn.net/u014265398/article/details/109700309 …

机器学习之决策树(DecisionTree)

决策树中选择哪一个特征进行分裂&#xff0c;称之为特征选择。 特征选择是找出某一个特征使得分裂后两边的样本都有最好的“归宿”&#xff0c;即左边分支的样本属于一个类别、右边分支的样本属于另外一个类别&#xff0c;左边和右边分支包含的样本尽可能分属同一类别&#xff…

进阶——十六届蓝桥杯嵌入式熟练度练习(按键+LCD)

高亮&#xff08;一&#xff09; 声明 char buf[21];unsigned char upled0x04;uint8_t key_val;uint8_t key_down,key_up,key_old;uint32_t key_time;uint8_t key_temp,key_flag;uint8_t line_flag; 按键代码 void key_proc(void) { key_valkey_scan();key_downkey_val&…

基于PHP的校园新闻发布管理

摘要 近年来&#xff0c;随着互联网技术的迅速发展&#xff0c;人们获取新闻的渠道也变得越来越多样化&#xff0c;已经不再拘束于传统的报纸、期刊、杂志等纸质化的方式&#xff0c;而是通过网络满足了人们获得第一手新闻的愿望&#xff0c;这样更加有助于实现新闻的规范化管…

MySQL程序之:使用DNS SRV记录连接到服务器

在域名系统&#xff08;DNS&#xff09;中&#xff0c;SRV记录&#xff08;服务位置记录&#xff09;是一种资源记录&#xff0c;它使客户端能够指定指示服务、协议和领域的名称。DNS查找该名称会返回一个回复&#xff0c;其中包含该领域中提供所需服务的多个可用服务器的名称。…