0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

LeetCode初级算法-链表02:合并两个有序链表

电子设计 来源:电子设计 作者:电子设计 2020-12-10 22:23 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

LeetCode初级算法--链表02:合并两个有序链表

一、引子

这是由LeetCode官方推出的的经典面试题目清单~
这个模块对应的是探索的初级算法~旨在帮助入门算法。我们第一遍刷的是leetcode推荐的题目。

二、题目

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

示例:

输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4

1、思路

首先我们看到的数一个有序的链表,所以我们可以先比较两个链表长度相等的部分,按照顺序进行排列,对于剩下一个链表的部分,直接插入到最终的链表中,详细过程见代码。

2、编程实现

python

# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution(object):
    def mergeTwoLists(self, l1, l2):
        """
        :type l1: ListNode
        :type l2: ListNode
        :rtype: ListNode
        """
        new_head = ListNode(0)
        #返回的是合并后的列表 所以让一个节点等于这个空的节点
        pHead = new_head
        #进行排序
        while l1 and l2:
            if l1.val > l2.val:
                new_head.next = l2
                l2 = l2.next
            else:
                new_head.next = l1
                l1 = l1.next
            new_head = new_head.next
        # 遍历剩下没遍历的列表
        if l1:
            new_head.next = l1
        elif l2:
            new_head.next = l2
        return pHead.next

分享技术,乐享生活:我们的公众号计算机视觉这件小事每周推送“AI”系列资讯类文章,欢迎您的关注!

本文由博客一文多发平台 OpenWrite 发布!

审核编辑 黄昊宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 人工智能
    +关注

    关注

    1813

    文章

    49756

    浏览量

    261671
  • 机器学习
    +关注

    关注

    66

    文章

    8541

    浏览量

    136236
  • 深度学习
    +关注

    关注

    73

    文章

    5591

    浏览量

    123921
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    rt_object_get_information获取到的链表为空怎么解决?

    rtt启动过程,在初始化堆的时候,进入rt_object_init,调用rt_object_get_information获取到的链表为空,导致系统起不来。
    发表于 10-11 11:44

    硬件SPI两个CS操作两个norflash,怎么互斥操作两个norflash?

    硬件SPI两个CS操作两个norflash,怎么互斥操作两个norflash,有一norflash被模拟成U盘,会在中断中操作spi。
    发表于 09-26 06:18

    请问有办法在嵌入式单片机上实现对片外Flash的数据增删功能吗?

    时间要求, 工作时断电如何处理. 本来想试试sqlite, 但是看介绍需要几百K内存, 好像不是给单片机用的, 问了AI也是给我推的FlashDB, 它的KV值是支持删除的, 但是我需要有序索引, 像一链表, 现在有没有现成的
    发表于 09-23 06:10

    基本半导体连获两个行业奖项

    近日,基本半导体凭借在碳化硅模块领域的突出表现,连获“国产SiC模块TOP企业奖”和“年度优秀功率器件产品奖”两个行业奖项。
    的头像 发表于 09-05 16:31 902次阅读

    图中两个按键开关是两个干簧管,为什么不直接对GND设计来检测这个干簧管通断呢?

    图中两个按键开关是两个干簧管,为什么不直接对GND设计来检测这个干簧管通断呢? 这样设计的原理是什么?
    发表于 06-17 06:30

    看到STM8L152用两个IO用两个或非门检测两个通断,是什么原理呢?

    图中两个按键开关是两个干簧管,为什么不直接对GND设计来检测这个干簧管通断呢? 这样设计的原理是什么?
    发表于 06-12 06:25

    蛙跳算法驱动,重塑电动汽车有序充电革新路径

    挑战。因此,研究电动汽车有序充电策略具有重要的现实意义。 近年来,国内外学者在电动汽车有序充电领域开展了广泛研究。主要方法包括基于电价引导的策略、分层优化方法和智能算法等。其中,智能算法
    的头像 发表于 04-08 14:04 705次阅读
    蛙跳<b class='flag-5'>算法</b>驱动,重塑电动汽车<b class='flag-5'>有序</b>充电革新路径

    富士通合并两个SAP系统,简化其在德国的业务结构

    富士通与SNP合作,采用BLUEFIELD™方法,五月内成功合并家德国子公司SAP系统,实现快速迁移、高效合作、极短停机时间和业务连续性,增强了数字化转型竞争力。
    的头像 发表于 03-05 17:00 678次阅读

    【节能学院】蛙跳算法驱动,重塑电动汽车有序充电革新路径

    摘要:本文针对电动汽车无序充电对电网造成的影响,提出了一种基于改进蛙跳算法有序充电策略。该策略通过引入动态惯性权重和自适应分组机制,优化了传统蛙跳算法的性能。建立了以超小化电网负荷波动、用户充电
    的头像 发表于 02-28 15:41 610次阅读
    【节能学院】蛙跳<b class='flag-5'>算法</b>驱动,重塑电动汽车<b class='flag-5'>有序</b>充电革新路径

    改进蛙跳算法:开启电动汽车有序充电新路径

    摘要:本文针对电动汽车无序充电对电网造成的影响,提出了一种基于改进蛙跳算法有序充电策略。该策略通过引入动态惯性权重和自适应分组机制,优化了传统蛙跳算法的性能。建立了以超小化电网负荷波动、用户充电
    的头像 发表于 02-18 08:04 980次阅读
    改进蛙跳<b class='flag-5'>算法</b>:开启电动汽车<b class='flag-5'>有序</b>充电新路径

    使用ADS1281做调制器,两个调制器都是输出1位的数据流,那合并之后数据流是几位的呢?

    我想使用ADS1281做调制器,datasheet上写的输出需要合并两个阶的调制器:Y[n]=3M0[n-2]-6M0[n-3]+4M0[n-4]+9(M1[n]-2M1[n-1]+M1[n-2
    发表于 02-05 09:10

    两个不同频率晶振靠的近会怎样

    晶振的振荡本质上是一种机械振动(在压电晶体层面)。当两个晶振靠得很近时,它们的机械振动可能会相互影响。一晶振的振动可能会通过电路板或者外壳等介质传递给另一晶振,从而改变另一晶振的
    的头像 发表于 01-20 13:55 2023次阅读
    <b class='flag-5'>两个</b>不同频率晶振靠的近会怎样

    如何把两个数据返回给调用函数

    函数的处理结果包含两个数据,如何把两个数据返回给调用函数? 第一种,把两个数据封装成一结构体,函数返回结构体。 调用函数的地方同样用结构体去接收函数的返回值。 第二种,把返回值保存在
    的头像 发表于 01-08 10:15 685次阅读

    DAC8760的Iout和Vout都有两个TVS防护,这两个各是什么作用?

    1、DAC8760的Iout和Vout都有两个TVS防护,这两个各是什么作用? 2、如果我只希望DAC8760输出0-5V和4-20mA,输出电路的两个TVS都要加么?
    发表于 12-30 06:49

    AFE4404 INP和INM这两个引脚为什么需要差分输入,这种差分输入的好处是?

    问题1、INP和INM这两个引脚为什么需要差分输入,这种差分输入的好处是? 问题2、 这个差分处理 咱们是INP和INM这两个管脚的差分间距 和 差分最大的差分误差最大允许多大? 问题3、对于腕式反射采集,在运动环境下,算法
    发表于 12-12 06:50