力扣

技术力扣 力扣 - 剑指 Offer 25. 合并两个排序的链表题目
剑指 Offer 25. 合并两个排序的链表
思路1其实就是归并排序中将两个数组合并成一个有序数组
因为两个链表的元素已经是递增了(

武力剑指的是提议25。合并两个排序的链表。

题目

指剑要约25。合并两个排序的链表。

思路1

事实上,合并和排序是将两个数字组合成一个有序的数组。

由于两个链表的元素已经是递增了(必要条件),我们可以遍历两个链表,判断两个节点之间的大小关系,然后交替向前移动,合并成一个新的链表。

因为合并后需要返回一个新的链表,无法判断l1和l2链表的值,所以可以创建一个伪头节点,相当于标识这个链表,这样最终的结果就是伪头节点的dummy.next。

代码

解决方案类{

公共列表节点合并列表(列表节点l1,列表节点L2){ 0

//创建虚拟头节点

ListNode dummy=new ListNode(-1);

ListNode temp=dummy

//是合并排序中两个数字组合成一个有序数组。

//确保两个链接列表都有效且不为空。

//如何确定合并的大小,请注意这里要重新创建节点。

while (l1!=null l2!=null){ 0

if(L1 . val L2 . val){ 0

temp . next=new ListNode(L1 . val);

temp=temp.next

l1=l1.next

} else {

temp . next=new ListNode(L2 . val);

temp=temp.next

l2=l2.next

}

}

//判断是否已经遍历了两个链表。

while (l1!=null){ 0

temp . next=new ListNode(L1 . val);

temp=temp.next

l1=l1.next

}

while (l2!=null){ 0

temp . next=new ListNode(L2 . val);

temp=temp.next

l2=l2.next

}

//答案是虚拟头节点的下一个节点。

返回dummy.next

}

}

复杂度分析

复杂度:\(O(M ^ N)\),M和N分别是l1和l2链表的长度。

空间复杂度:\ O(1)\)

我走得很慢,但我从不后退!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/103397.html

(0)

相关推荐

  • 一寸光阴一寸金英文,从一月到十二月的对应英文缩写

    技术一寸光阴一寸金英文,从一月到十二月的对应英文缩写月份 缩小 全称 读音一月 Jan January [ˈ

    生活 2021年10月25日
  • Java中有哪些Spring面试题

    技术Java中有哪些Spring面试题本篇内容主要讲解“Java中有哪些Spring面试题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java中有哪些Spring面试题”吧

    攻略 2021年10月29日
  • html5璁剧疆椤甸潰瀹藉害(html5中元素能不能拉伸宽度)

    技术html5中元素能不能拉伸宽度这篇文章给大家分享的是有关html5中元素能不能拉伸宽度的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 html中元素能拉伸宽度,

    攻略 2021年12月25日
  • 抖音真人赞10个自助下单,介绍下抖音刷真人赞多少钱?

    技术抖音真人赞10个自助下单,介绍下抖音刷真人赞多少钱?于抖音新手怎么快速涨粉丝?
    1、大量关注别人,这样必定会带来许多的粉
    2、评论别人,不停地评论陌生人的抖音,只要看到有人发抖音就去留下高质量的评论,每次都坐上沙发,

    测评 2021年11月9日
  • nagiosQL怎么安装

    技术nagiosQL怎么安装这篇文章主要介绍了nagiosQL怎么安装,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。安装nagiosql1.yum -y

    攻略 2021年10月21日
  • 塑料三角烧瓶,三角烧瓶和三角瓶的区别

    技术塑料三角烧瓶,三角烧瓶和三角瓶的区别一塑料三角烧瓶、应用领域区别:1、三角瓶多用于生物培育菌种实验,有盖。2、三角烧瓶即锥形瓶是化学实验中常见仪器,多无盖,可加热,用于化学实验。
    二、外形区别:
    3、锥形瓶一般来说

    生活 2021年10月26日