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 发布!
审核编辑 黄昊宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
人工智能
+关注
关注
1797文章
47867浏览量
240858 -
机器学习
+关注
关注
66文章
8453浏览量
133166 -
深度学习
+关注
关注
73文章
5521浏览量
121663
发布评论请先 登录
相关推荐
使用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
单相电机两个绕组都在定子上吗
单相电机的两个绕组,即起动线圈(或称为辅助绕组、副绕组)和运行线圈(或称为主绕组),都位于定子上 。这两个绕组在电机中起着关键作用,共同协作以产生旋转磁场,从而使电机能够运转。 单相电机通常由一个
ad如何设置两个元器件的距离
在Altium Designer(简称AD)中设置两个元器件之间的距离,主要是通过设置元器件间的安全间距(Clearance)规则来实现的。这个规则定义了元器件之间、元器件与走线之间以及其他设计元素
双稳态电路的两个稳定状态是什么
双稳态电路是一种具有两个稳定状态的电子电路,广泛应用于数字电路、通信系统、存储器等领域。 双稳态电路的基本概念 双稳态电路是一种具有两个稳定状态的电路,即在没有外部输入信号的情况下,电路可以保持在
双稳态触发器的两个基本性质是什么
双稳态触发器(Bistable Trigger)是一种具有两个稳定状态的逻辑电路,广泛应用于数字电路设计中。它具有两个基本性质:记忆性和切换性。 一、双稳态触发器的基本概念 1.1 双稳态触发器
如何使用SPI或UART连接两个ESP模块?
我使用 ESP-WROOM-02 模块进行我们的项目。
根据我们的要求,我们需要使用 UART 或 SPI 将两个 ESP 模块与一个 ESP 模块连接。
一个设备可以与 UART
发表于 07-19 16:08
ESP32-S3的LCD接口可以用DMA链表来触发发送数据吗?
因为是用来驱动LED显示屏,用原来的I2S那样并行,通过链接自己组织数据列表,还是比较方便的,现在S3的I2S好像已经不能并行发数据了,只能用LCD的接口了,所以想知道LCD接口的DMA能不能用链表来组织数据。
发表于 06-17 07:25
两个PLC之间如何交互信号
在工业自动化系统中,PLC(Programmable Logic Controller,可编程逻辑控制器)是核心的控制设备。在许多复杂的应用场景中,需要两个或多个PLC之间进行信号交互,以实现更高
Labview 如何将多列列表框相邻的两个单元格合并?如同Excel合并单元格
如题,Labview中 如何将多列列表框相邻的两个单元格合并?如同Excel合并单元格。请各位大神帮忙指点,谢谢。
发表于 04-25 11:12
arcgis中如何关联两个属性表
在ArcGIS中,关联两个属性表是一个重要的操作,可以通过此操作将两个表中的数据关联起来,以便进行分析和查询。下面是详细介绍如何在ArcGIS中实现属性表的关联。 首先,我们需要明确两个
数组和链表在内存中的区别 数组和链表的优缺点
内存中的存储方式: 数组是一种连续存储的数据结构,它将元素存储在相邻的内存位置中。这使得数组的访问效率高,可以通过下标来直接访问任何一个元素。 链表是一种离散存储的数据结构,它将元素存储在不同的内存块中,并使用指针
评论