1.题目
给你一个链表数组,每个链表都已经按升序排列。
请你将所有链表合并到一个升序链表中,返回合并后的链表。
输入:lists = [[1,4,5],[1,3,4],[2,6]]
输出:[1,1,2,3,4,4,5,6]
解释:链表数组如下:
[
1->4->5,
1->3->4,
2->6
]
将它们合并到一个有序链表中得到。
1->1->2->3->4->4->5->6
输入:lists = []
输出:[]
输入:lists = [[]]
输出:[]
2.想法
2.1 想法1
开始写的时候,想着遍历这些数组中的链表,但每次链表你只能遍历其中的一个,这样的话,不能进行比值,所以这样不可行.
由于之前已经写过两两链表的合并,所以在这里写的时候,我就想到两两比较,最后再合并起来。就和之前遇到过的问题一样,开始给一个空的,遍历过程中一直两两合并即可。
所以这个想法是可行的。
2.1.1 想法1实现
我复制了之前两两合并的代码。这样就变得简单了。
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* Li