首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Leetcode打卡 | No.21 合并两个有序链表

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

作者头像
小小詹同学
发布于 2018-08-17 13:24:44
发布于 2018-08-17 13:24:44
6200
举报
文章被收录于专栏:小詹同学小詹同学

No.21 合并两个有序链表

题目 :

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

示例 :

代码语言:javascript
复制
输入:1->2->4, 1->3->4输出:1->1->2->3->4->4

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

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-08-15,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档