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

长春建站培训班汽车网站建设方案预算

长春建站培训班,汽车网站建设方案预算,东莞房价2022最新价格,做网站的过程中有哪些问题LeetCode 21. 合并两个有序链表 题目描述 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接两个链表的节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4]示例 2: 输入:l1 …

LeetCode 21. 合并两个有序链表

题目描述

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

示例 1:

输入:l1 = [1,2,4], l2 = [1,3,4]
输出:[1,1,2,3,4,4]

示例 2:

输入:l1 = [], l2 = []
输出:[]

示例 3:

输入:l1 = [], l2 = [0]
输出:[0]

提示:

  • 两个链表的节点数在范围 [0, 50]
  • 0 <= Node.val <= 1000
  • 列表中的每个节点都有一个唯一的 val

Java 实现解法

方法一:递归
/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode(int x) { val = x; }* }*/
class Solution {public ListNode mergeTwoLists(ListNode l1, ListNode l2) {if (l1 == null) return l2;if (l2 == null) return l1;if (l1.val < l2.val) {l1.next = mergeTwoLists(l1.next, l2);return l1;} else {l2.next = mergeTwoLists(l1, l2.next);return l2;}}
}
方法二:迭代
class Solution {public ListNode mergeTwoLists(ListNode l1, ListNode l2) {if (l1 == null)return l2;if (l2 == null)return l1;ListNode dummy = new ListNode(0);ListNode curr = dummy;while (l1 != null && l2 != null) {if (l1.val < l2.val) {curr.next = l1;l1 = l1.next;} else {curr.next = l2;l2 = l2.next;}curr = curr.next;}curr.next = (l1 != null) ? l1 : l2;return dummy.next;}
}

解题思路

  • 递归方法

    • 递归的基本情况是当链表 l1l2null 时,直接返回另一个链表。
    • 在递归过程中,比较两个链表头节点的值,将较小的节点链接到结果链表中,然后递归地合并下一个节点和另一个链表的剩余部分。
  • 迭代方法

    • 创建一个虚拟头节点 dummy,用于简化插入操作。
    • 使用一个 while 循环,当两个链表都非空时,比较两个头节点的值,将较小的节点链接到 curr 后面,并移动对应的链表指针。
    • 更新 curr 指针,指向新链接的节点。
    • 当一个链表为空时,将另一个链表的剩余部分链接到 curr 后面。

这两种方法的时间复杂度都是 O(n + m),其中 nm 分别是链表 l1l2 的长度。空间复杂度对于递归方法是 O(n + m),因为递归栈的深度最多为两个链表长度之和;对于迭代方法是 O(1),因为我们只使用了有限的额外空间来存储指针。迭代方法通常更受青睐,因为它避免了递归可能引起的栈溢出问题。

http://www.yayakq.cn/news/967724/

相关文章:

  • 青岛网站制作推广青海省建设局网站首页
  • 官方网站建设银行年利息是多少比亚迪新能源汽车车型
  • 成都专业网站搭建公司电影 wordpress
  • 红河州网站建设制作网站开发软件的选择
  • 建设维护网站运营方案泉州网站公司建站
  • 网站色彩代码扫码点餐小程序怎么做
  • 济南网站优化收费标准宝塔上安装wordpress
  • 网站流量被黑krypt免费wordpress空间
  • 吉林省住房和城乡建设部网站家装公司建设网站
  • 昆明专业网站建设沈阳专业网站建设
  • 关于做服饰网站的首页视频网站开发方案
  • wordpress建立论坛网站wordpress 4.9.6 下载
  • 个人建站哪类站赚钱招聘网站建设维护人员
  • 山东省建设厅电工证查询网站如何请人做网站
  • 云南科技网站建设linux下wordpress
  • c2c网站有哪些平台ps培训班要学多久多少钱
  • 域名有了怎么制作网站帮别人做网站需要什么能力
  • 贵阳 网站建设wordpress小图标大全
  • 一个公司做几个网站网站建设的可行性分析
  • 中国手机网站建设公司小学生编程课主要学什么
  • 未来商城网站建设莱芜网
  • 建设网站需要掌握什么编程语言seo关键词优化推广哪家好
  • 网站正在备案中模板唐山网站制作网络公司
  • 安徽企业网站建设wordpress臃肿吗
  • 网站没续费会怎样备案期间网站能访问吗
  • 地方门户网站域名seo综合查询什么意思
  • html5网站开发工具有哪些如何建立网站后台
  • seo教程网站门户网站建设服务报价
  • 电子商务网站建设大二实训免费seo网站优化工具
  • 宁波网站建设模板下载免费乐东黎族自治县住房建设局网站