Leetcode打卡 | No.21 合并两个有序链表


No.21 合并两个有序链表

题目 :

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

示例 :

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

分析 :这题目很简单 ,而且前边关于链表关于排序都有过类似的题目 ,有遗忘的可以回头看看 记录帖 | Leetcode打卡目录(NO.1-20)

思路一 :利用链表已经有序 ,创建一个新链表 ,从头指针开始 ,将两个链表依次比较 ,新目标链表指向比较后较小的链表(记作A)的对应节点值 ,然后将该链表A后移一个节点重复操作 。直到有个链表已经移动到最后 ,此时将另一个链表接到目标链表后即可 ,小詹记得前边有一题特别类似 。具体代码实现如下 :

思路二 :除了上述思路 ,还可以利用递归思路 ,我们注意到链表指针指向后边的还是一个链表 ,可看作少一个节点的链表 。于是我们可以考虑反复调用该方法 ,只是将参数改成去除一个节点的链表和另一个没有变化的链表即可 ,具体代码如下 :

而且提交表明 ,思路二的速度快很多 ,小伙伴们可以自行try一try哦 ~

原文发布于微信公众号 - 小詹学Python(xiaoxiaozhantongxue)

原文发表时间:2018-08-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏信安之路

php 弱类型问题

php 是一门简单而强大的语言,提供了很多 Web 适用的语言特性,其中就包括了变量弱类型,在弱类型机制下,你能够给一个变量赋任意类型的值。

1400
来自专栏Python数据科学

Python爬虫之快速入门正则表达式

当完成了网页html的download之后,下一步当然是从网页中解析我们想要的数据了。那如何解析这些网页呢?Python中有许多种操作简单且高效的工具可以协助我...

1213
来自专栏微信公众号:Java团长

Java进阶01 String类

之前的Java基础系列中讨论了Java最核心的概念,特别是面向对象的基础。在Java进阶中,我将对Java基础进行补充,并转向应用层面。

842
来自专栏nummy

python operator模块学习

operator模块是python中内置的操作符函数接口,它定义了一些算术和比较内置操作的函数。operator模块是用c实现的,所以执行速度比python代码...

752
来自专栏古时的风筝

模板的简单介绍与使用

什么是模板? 模板(template)指c++中的函数模板与类模板,大体对应于C#和Java众的泛型的概念。目前,模板已经成为C++的泛型编程中不可缺少的一部分...

1838
来自专栏猿人谷

Java初学者需掌握的30个概念

基本概念:       1.OOP中唯一关心的是对象的接口是什么,就像计算机的销售商她不管电源内部结构 是怎样的,他只关系能否给你提供电就行了,也就是只要知道c...

17010
来自专栏Python爬虫实战

Python数据类型之字典(上)

之前系列文章介绍了Python简单数据类型和序列数据类型,本文来学习一种新的映射数据类型:字典。

871
来自专栏C/C++基础

认识初始化

初始化是编码过程中的重要操作,往往由于被忽略,导致使用未初始化的变量(或内存区域),将程序置于不确定的状态,产生各种bug,严重影响的程序的健壮性。正确地理解和...

641
来自专栏从零开始学 Web 前端

01 - JavaSE之基础及面向对象

byte(-128 ~ 127) short(-32768 ~ 32767) int(-2147483648 ~ 2147483647)

1634
来自专栏编程

Java中正则表达式分类及使用方法,分门别类,总结的很好

1、正则表达式是什么? 是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串。其实就是一种规则。有自己特殊的应用。 作用 : 比如注册邮箱 , 邮...

1885

扫码关注云+社区

领取腾讯云代金券