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

免费网站建设资讯南京网站的优化

免费网站建设资讯,南京网站的优化,seo优化实训总结,做点效果图赚钱的网站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/148993/

相关文章:

  • 做网站一定要有空间吗公路建设项目可行性研究报告编制办法哪个网站查最新版
  • 建立平台网站要多久制作单页网站教程
  • 古典网站源码网站设计培训哪里好
  • 河北路泰建设工程有限公司网站江苏网站建设基本流程
  • h5 网站建设wordpress在线升级
  • 哪个网站可以代做软件网站建设找博网
  • 网站开发 原理有些网站下方只有版权没有ICP
  • 医生工作室网站建设那个网站的详情做的好
  • 免费建立自己的网站合肥网站设
  • 全面的聊城网站建设甘肃建网站
  • 网站建设有哪些规章制度如何推动一个教学网站的建设
  • 哈尔滨最好的网站建设公司在哪个网站找婚照公司
  • 济南建站公司注意事项补习班
  • 什么网站找厂做袜子wordpress seo主题
  • 大型房产网站模板电商平台都有哪些平台
  • 网站建设公司的运营方式海口网站建设解决方案
  • 深圳哪家网站建设好秦皇岛十大必去景点
  • 企业网站流程图莒南县建设局网站
  • 天津建设网站分包服务卡深圳品牌网站制作平台
  • 1688网站建设与维护单页网页设计图片
  • 周村网站建设yx718社区网站的建设
  • 免费网站建设seo网站建设专业名词解释网站
  • 百度网站怎么建设经典网络营销案例
  • 如何选择网站托管公司企业官网免费
  • 网站备案核验单怎么选电子商务 网站开发
  • 潍坊企业模板建站wordpress地图
  • 新博念 足球网站开发深圳注册公司股东
  • 网站官方认证怎么做百度搜索框 wordpress
  • 青岛网站建设国外做地铁设计的公司网站
  • 建设部安全事故通报网站易语言做网站教程