/**
* 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> vec;
for(int i=0;i<lists.size();i++)
{
ListNode* ls = lists[i];
while(ls != NULL)
{
vec.push_back(ls->val);
ls = ls->next;
}
}
sort(vec.begin(),vec.end());
//生成新链表
ListNode* l = new ListNode(0);
ListNode* res = l;
for(int i=0;i<vec.size();i++)
{
ListNode* temp = new ListNode(vec.at(i));
l->next = temp;
l = l->next;
}
return res->next;
}
};