LeetCode 第21题 Merge Two Sorted Lists(Java)

栏目: 数据库 · 发布时间: 6年前

内容简介:原题地址:这道题的思路很简单,其实就是同时遍历两个链表,选择其中最小的一个节点,选了那个链表的元素,哪个链表就往前走一个,没有被选择的不动。在过程中,如果其中一个链表已经为空,那么就把另外一个链表的全部内容填充到结果链表里面。这是第一种解决方法,循环遍历。上面思路很直接,但是代码看起来比较复杂,事实上,只要是链表这种结构,我们都可以考虑递归的去解决。思路如下面的代码,用递归来遍历。首先考虑,其中一个链表为空的情况,很简单直接把另一个链表返回。然后,如果l1的第一个节点比l2的第一节点小,或者相等,那么,就l

原题地址: https://leetcode.com/problems/merge-two-sorted-lists/

要求

合并两个有序的链表,返回一个新链表。新的链表必须由前两个链表的节点组成。

例如:

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

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

这道题的思路很简单,其实就是同时遍历两个链表,选择其中最小的一个节点,选了那个链表的元素,哪个链表就往前走一个,没有被选择的不动。在过程中,如果其中一个链表已经为空,那么就把另外一个链表的全部内容填充到结果链表里面。这是第一种解决方法,循环遍历。

LeetCode 第21题 Merge Two Sorted Lists(Java)

上面思路很直接,但是代码看起来比较复杂,事实上,只要是链表这种结构,我们都可以考虑递归的去解决。思路如下面的代码,用递归来遍历。首先考虑,其中一个链表为空的情况,很简单直接把另一个链表返回。然后,如果l1的第一个节点比l2的第一节点小,或者相等,那么,就l1的第二个节点等于,现有l1的第二个节点和l2的合并结果,然后返回l1。反之亦然。

LeetCode 第21题 Merge Two Sorted Lists(Java)

代码地址: https://github.com/tinyfool/leetcode/tree/master/src/p0021


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Effective C# 中文版

Effective C# 中文版

Bill Wagner / 李建忠 / 人民邮电出版社 / 2007-5 / 49.00元

本书围绕一些关于C#和.NET的重要主题,包括C#语言元素、.NET资源管理、使用C#表达设计、创建二进制组件和使用框架等,讲述了最常见的50个问题的解决方案,为程序员提供了改善C#和.NET程序的方法。本书通过将每个条款构建在之前的条款之上,并合理地利用之前的条款,来让读者最大限度地学习书中的内容,为其在不同情况下使用最佳构造提供指导。 本书适合各层次的C#程序员阅读,同时可以推荐给高校教......一起来看看 《Effective C# 中文版》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试