LeetCode初级算法--链表02:合并两个有序链表
一、引子
这是由LeetCode官方推出的的经典面试题目清单~
这个模块对应的是探索的初级算法~旨在帮助入门算法。我们第一遍刷的是leetcode推荐的题目。
二、题目
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例:
输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4
1、思路
首先我们看到的数一个有序的链表,所以我们可以先比较两个链表长度相等的部分,按照顺序进行排列,对于剩下一个链表的部分,直接插入到最终的链表中,详细过程见代码。
2、编程实现
# 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企业奖”和“年度优秀功率器件产品奖”两个行业奖项。
图中两个按键开关是两个干簧管,为什么不直接对GND设计来检测这个干簧管通断呢?
图中两个按键开关是两个干簧管,为什么不直接对GND设计来检测这个干簧管通断呢?
这样设计的原理是什么?
发表于 06-17 06:30
看到STM8L152用两个IO用两个或非门检测两个通断,是什么原理呢?
图中两个按键开关是两个干簧管,为什么不直接对GND设计来检测这个干簧管通断呢?
这样设计的原理是什么?
发表于 06-12 06:25
蛙跳算法驱动,重塑电动汽车有序充电革新路径
挑战。因此,研究电动汽车有序充电策略具有重要的现实意义。 近年来,国内外学者在电动汽车有序充电领域开展了广泛研究。主要方法包括基于电价引导的策略、分层优化方法和智能算法等。其中,智能算法
富士通合并两个SAP系统,简化其在德国的业务结构
富士通与SNP合作,采用BLUEFIELD™方法,五个月内成功合并两家德国子公司SAP系统,实现快速迁移、高效合作、极短停机时间和业务连续性,增强了数字化转型竞争力。
【节能学院】蛙跳算法驱动,重塑电动汽车有序充电革新路径
摘要:本文针对电动汽车无序充电对电网造成的影响,提出了一种基于改进蛙跳算法的有序充电策略。该策略通过引入动态惯性权重和自适应分组机制,优化了传统蛙跳算法的性能。建立了以超小化电网负荷波动、用户充电
改进蛙跳算法:开启电动汽车有序充电新路径
摘要:本文针对电动汽车无序充电对电网造成的影响,提出了一种基于改进蛙跳算法的有序充电策略。该策略通过引入动态惯性权重和自适应分组机制,优化了传统蛙跳算法的性能。建立了以超小化电网负荷波动、用户充电
使用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
两个不同频率晶振靠的近会怎样
晶振的振荡本质上是一种机械振动(在压电晶体层面)。当两个晶振靠得很近时,它们的机械振动可能会相互影响。一个晶振的振动可能会通过电路板或者外壳等介质传递给另一个晶振,从而改变另一个晶振的
如何把两个数据返回给调用函数
函数的处理结果包含两个数据,如何把两个数据返回给调用函数? 第一种,把两个数据封装成一个结构体,函数返回结构体。 调用函数的地方同样用结构体去接收函数的返回值。 第二种,把返回值保存在
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

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