LeetCode 23. 合并K个排序链表
2020-12-13 05:58
标签:思想 tco turn col color == next nlogn lis 合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 LeetCode 23. 合并K个排序链表 标签:思想 tco turn col color == next nlogn lis 原文地址:https://www.cnblogs.com/programyang/p/11160297.html
示例:
输入:
[
1->4->5,
1->3->4,
2->6
]
输出: 1->1->2->3->4->4->5->6
算法:归并。我们利用归并排序的思想对链表进行排序即可。故时间复杂度为O(nlogn),空间复杂度为O(n)。class Solution {
public:
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
auto l=new ListNode(-1);
auto cur=l;
auto p=l1,q=l2;
while(p&&q){
if(p->val>q->val){
cur->next=q;
q=q->next;
}
else{
cur->next=p;
p=p->next;
}
cur=cur->next;
}
cur->next=p?p:q;
return l->next;
}
ListNode* mergeKLists(vector
上一篇:菜鸟如何学数组
下一篇:windows编程原理