/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode* mergeKLists(vector<ListNode*>& lists) {
vector<int> nums;
for(auto it = lists.begin();it != lists.end();it++)
{
ListNode* node = *it;
while(node)
{
nums.push_back(node->val);
node = node->next;
}
}
ListNode* ihead = new ListNode(0);
ListNode* node = ihead;
sort(nums.begin(),nums.end());
for(auto it = nums.begin();it != nums.end();it++)
{
node->next = new ListNode(*it);
node = node->next;
}
return ihead->next;
}
};
今天太忙啦,先这样打卡,明天补上!
本文介绍了一种有效的算法,用于合并多个已排序的链表。通过将链表转换为数值数组,对数组进行排序,然后重新构建链表,实现了K个链表的有效合并。
295

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



