力扣hot100 合并两个有序链表 递归 双指针

Problem: 21. 合并两个有序链表
在这里插入图片描述

文章目录

  • 💖 递归
    • 思路
  • 💖 双指针

💖 递归

思路

👨‍🏫 参考地址
在这里插入图片描述

n , m n,m n,m 分别为 list1 和 list2 的元素个数
⏰ 时间复杂度: O ( n + m ) O(n+m) O(n+m)
🌎 空间复杂度: O ( n + m ) O(n+m) O(n+m)

/*** 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){if (list1 == null)return list2;else if (list2 == null)return list1;else if (list1.val < list2.val){list1.next = mergeTwoLists(list1.next, list2);return list1;} else{list2.next = mergeTwoLists(list1, list2.next);return list2;}}
}

💖 双指针

👨‍🏫 参考地址
在这里插入图片描述

⏰ 时间复杂度: O ( n + m ) O(n+m) O(n+m)
🌎 空间复杂度: O ( 1 ) O(1) O(1)

class Solution {public ListNode mergeTwoLists(ListNode list1, ListNode list2) {ListNode dum = new ListNode(0), cur = dum;while (list1 != null && list2 != null) {if (list1.val < list2.val) {cur.next = list1;list1 = list1.next;}else {cur.next = list2;list2 = list2.next;}cur = cur.next;}cur.next = list1 != null ? list1 : list2;return dum.next;}
}

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

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

相关文章

仓储管理系统——软件工程报告(可行性研究报告及分析)①

可行性研究报告及分析 一、问题定义 1.1项目背景 随着社会的发展以及企业规模的扩大和业务的复杂化&#xff0c;仓库管理变得愈发重要。传统的手工管理方式已经导致了一系列问题&#xff0c;包括库存准确性低、订单处理效率慢等。为了提高仓库运作效率、降低成本并优化库存管…

TCP三握四挥(面试需要)

TCP建立连接需要三次握手过程&#xff0c;关闭连接需要四次挥手过程 三次握手 从图中可以看出&#xff0c;客户端在发起connect时&#xff0c;会发起第一次和第三次握手。服务端在接收客户端连接时&#xff0c;会发起第二次握手。 这三次握手&#xff0c;都会通过SYNACK的方式…

【wu-framework-parent 1.2.2-JDK17-SNAPSHOT 新版本中的 ACW】

版本: 1.2.2-JDK17-SNAPSHOT 项目地址&#xff1a;https://gitee.com/wujiawei1207537021/wu-framework-parent/tree/master/wu-smart-intergration/wu-smart-acw 演示地址&#xff1a;http://124.222.48.62:30193/wu-smart-acw-ui/#/login admin/admin docker启动 docker …

探索全球DNS体系 | 从根服务器到本地解析

DNS 发展 DNS&#xff08;Domain Name System&#xff09;的起源可以追溯到互联网早期。 早期的挑战&#xff1a; 早期互联网主要通过IP地址进行通信&#xff0c;用户需要记住复杂的数字串来访问网站。 需求的催生&#xff1a; 随着互联网的扩大&#xff0c;更简单、易记的…

基于springboot+vue的甘肃非物质文化网站(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 研究背景…

部署 Seafile 开源企业云盘

一、Seafile 介绍 Seafile 简介 :::info 官网&#xff1a;https://www.seafile.com/ GitHub&#xff1a;https://github.com/haiwen/seafile ::: Seafile 是一款开源的企业云盘&#xff0c;注重可靠性和性能。 支持 Windows&#xff0c;Mac&#xff0c;Linux&#xff0c;iOS&…

点亮流水灯

目录 1.water_led 2.tb_water_led 50MHZ一个周期是20ns,0.5秒就是20ns0.02um0.00002ms0.000_00002s。0.5/0.000_00002s25_000_000个时钟周期&#xff0c;表示要从0计数到24_999_999 LED灯是低电平点亮&#xff0c;前0.5秒点亮第一个LED灯&#xff0c;当检测到脉冲信号点亮第二…

关于uvm_reg_predictor #() predictor

1、Explicit Register Predictor uvm_reg_predictor 类定义了一个预测器组件&#xff0c;用于基于在物理总线上显式观察到的事务来更新寄存器模型的镜像值。 2、uvm_reg_predictor 根据观察到的总线事务更新寄存器模型的镜像值。该类将观察到的总线事务&#xff08;类型为BU…

项目实战——Qt实现FFmpeg音视频转码器

文章目录 前言一、移植 FFmpeg 相关文件二、绘制 ui 界面三、实现简单的转码四、功能优化1、控件布局及美化2、缩放界面3、实现拖拽4、解析文件5、开启独立线程6、开启定时器7、最终运行效果 五、附录六、资源自取 前言 本文记录使用 Qt 实现 FFmepg 音视频转码器项目的开发过…

FPGA:我的零基础学习路线(2022秋招已上岸)持续更新中~

可内推简历&#xff0c;丝我即可 前言 初次接触FPGA是在2022年3月左右&#xff0c;正处在研二下学期&#xff0c;面临着暑假找工作&#xff0c;周围的同学大多选择了互联网&#xff0c;出于对互联网的裁员形势下&#xff0c;我选择了FPGA&#xff0c;对于硬件基础知识我几乎是…

python-自动篇-办公-用Excel画画

文章目录 代码所遇问题ModuleNotFoundError: No module named xlsxwriterFileNotFoundError: [Errno 2] No such file or directory: 111.jpg 效果附件图片excel 代码 # coding: utf-8from PIL import Image from xlsxwriter.workbook import Workbookclass ExcelPicture(obje…

Pyside6在Pycharm下安装和使用

目录 一&#xff1a;安装 二&#xff1a;使用 一&#xff1a;安装 打开Pycharm编辑器&#xff0c;file-setting里Python解释器&#xff0c;点击小号&#xff0c;添加模块&#xff0c;搜索Pyside6,安装 安装报错&#xff0c;可能是默认的库安装超时&#xff0c;用其他的源 p…