LeetCode 第21题 Merge Two Sorted Lists(Java)

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

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


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

查看所有标签

猜你喜欢:

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

Algorithms in C (Computer Science Series)

Algorithms in C (Computer Science Series)

Robert Sedgewick / Addison-Wesley Professional / 1990-01-11 / USD 59.99

This new version of the best-selling book, Algorithms, SecondEdition, provides a comprehensive collection of algorithmsimplemented in C. A variety of algorithms are described in eachofthe following ar......一起来看看 《Algorithms in C (Computer Science Series)》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具