问题描述
合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。
示例:
输入:
[
1->4->5,
1->3->4,
2->6
]
输出: 1->1->2->3->4->4->5->6
来源Leetcode:https://leetcode-cn.com/problems/merge-k-sorted-lists/
两两排序
代码
class Solution:
def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode:
head = ListNode(None)
p = head
while l1 and l2:
if l1.val <= l2.val:
p.next = l1
l1 = l1.next
else:
p.next = l2
l2 = l2.next

这篇博客探讨了如何合并K个已排序的链表。首先介绍了问题描述,然后详细讲解了两两排序的方法及运行结果。接着,博主提出了分治法的思想,包括当链表数量为1或2时的处理方式,以及如何将链表拆分并合并。最后展示了相关代码实现。

1504

被折叠的 条评论
为什么被折叠?



