[力扣 Hot100]Day34 合并 K 个升序链表
题目描述
给你一个链表数组,每个链表都已经按升序排列。
请你将所有链表合并到一个升序链表中,返回合并后的链表。
思路
如果是考研题,可以用败者树,但代码太难写了,我选择直接比。
代码
class Solution {
public:
ListNode* mergeKLists(vector<ListNode*>& lists) {
int n=lists.size();
int min=0,idx=0;
ListNode *head = new ListNode;
ListNode *rear = head;
while(min<10001){
min=10001;
for(int i=0; i<n;i++){
if(lists[i]&&lists[i]->val<min){
min=lists[i]->val;
idx=i;
}
}
if(min<10001){
rear->next=lists[idx];
rear=rear->next;
lists[idx]=lists[idx]->next;
}
}
return head->next;
}
};
原文地址:https://blog.csdn.net/qq_53627591/article/details/136247692
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!