题目描述
这是 LeetCode 上的「23. 合并K个升序链表」,难度为 Hard。
给你一个链表数组,每个链表都已经按升序排列。
请你将所有链表合并到一个升序链表中,返回合并后的链表。...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
]
将它们合并到一个有序链表中得到...由于所有链表本身满足「升序」,一个直观的做法是:比较每条链表的头结点,选取值最小的节点,添加到结果中,然后将该链表的头结点指针往后移一位。
循环比较,直到所有的节点都被加入结果中。...对应到本题的话,相当于我们需要准备一个「集合」,将所有链表的头结点放入「集合」。
然后每次从「集合」中挑出最小的节点添加到答案中,并将该节点的
节点添加进「集合」(如果有的话)。...在这个系列文章里面,除了讲解解题思路以外,还会尽可能给出最为简洁的代码。如果涉及通解还会相应的代码模板。