21:合并两个有序链表

This commit is contained in:
huangge1199 2021-06-07 10:21:29 +08:00
parent a3768edee8
commit a90ca67247
2 changed files with 114 additions and 0 deletions

View File

@ -0,0 +1,79 @@
//将两个升序链表合并为一个新的 升序 链表并返回新链表是通过拼接给定的两个链表的所有节点组成的
//
//
//
// 示例 1
//
//
//输入l1 = [1,2,4], l2 = [1,3,4]
//输出[1,1,2,3,4,4]
//
//
// 示例 2
//
//
//输入l1 = [], l2 = []
//输出[]
//
//
// 示例 3
//
//
//输入l1 = [], l2 = [0]
//输出[0]
//
//
//
//
// 提示
//
//
// 两个链表的节点数目范围是 [0, 50]
// -100 <= Node.val <= 100
// l1 l2 均按 非递减顺序 排列
//
// Related Topics 递归 链表
// 👍 1744 👎 0
package leetcode.editor.cn;
import com.code.leet.entiy.ListNode;
//21:合并两个有序链表
public class MergeTwoSortedLists{
public static void main(String[] args) {
//测试代码
Solution solution = new MergeTwoSortedLists().new Solution();
}
//力扣代码
//leetcode submit region begin(Prohibit modification and deletion)
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
if (l1 == null) {
return l2;
}
if (l2 == null) {
return l1;
}
if (l1.val < l2.val) {
l1.next = mergeTwoLists(l1.next, l2);
return l1;
} else {
l2.next = mergeTwoLists(l1, l2.next);
return l2;
}
}
}
//leetcode submit region end(Prohibit modification and deletion)
}

View File

@ -0,0 +1,35 @@
<p>将两个升序链表合并为一个新的 <strong>升序</strong> 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 </p>
<p> </p>
<p><strong>示例 1</strong></p>
<img alt="" src="https://assets.leetcode.com/uploads/2020/10/03/merge_ex1.jpg" style="width: 662px; height: 302px;" />
<pre>
<strong>输入:</strong>l1 = [1,2,4], l2 = [1,3,4]
<strong>输出:</strong>[1,1,2,3,4,4]
</pre>
<p><strong>示例 2</strong></p>
<pre>
<strong>输入:</strong>l1 = [], l2 = []
<strong>输出:</strong>[]
</pre>
<p><strong>示例 3</strong></p>
<pre>
<strong>输入:</strong>l1 = [], l2 = [0]
<strong>输出:</strong>[0]
</pre>
<p> </p>
<p><strong>提示:</strong></p>
<ul>
<li>两个链表的节点数目范围是 <code>[0, 50]</code></li>
<li><code>-100 <= Node.val <= 100</code></li>
<li><code>l1</code><code>l2</code> 均按 <strong>非递减顺序</strong> 排列</li>
</ul>
<div><div>Related Topics</div><div><li>递归</li><li>链表</li></div></div>\n<div><li>👍 1744</li><li>👎 0</li></div>