欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 美景 > 每日一题 LCR 078. 合并 K 个升序链表

每日一题 LCR 078. 合并 K 个升序链表

2025/6/12 18:51:01 来源:https://blog.csdn.net/qq_42376925/article/details/143840828  浏览:    关键词:每日一题 LCR 078. 合并 K 个升序链表

LCR 078. 合并 K 个升序链表

使用二分法就可以解决


class Solution {
public:ListNode* mergeKLists(vector<ListNode*>& lists) {int n = lists.size();if(n == 0){return nullptr;}ListNode* ans ;ans = binMerge(lists,0,n-1);return ans;}ListNode* binMerge(vector<ListNode*> &lists,int l,int r ){//cout<<l<<" "<<r<<endl;if(l > r){return nullptr;}if(l == r){return lists[l] ;}int mid = (l+r)/2;ListNode* ll = binMerge(lists,l,mid);ListNode* rr = binMerge(lists,mid+1,r);return mergeListTwo(ll,rr);}ListNode* mergeListTwo(ListNode* l, ListNode* r){ListNode* dummy = new ListNode(0);ListNode* h = dummy;while(l && r){if(l->val > r->val){h->next = r;r = r->next;}else{h->next = l;l = l->next;}h = h->next;}if(l){h->next = l;}if(r){h->next = r;}return dummy->next;}
};

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词