1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
class Solution { public: ListNode* mergeKLists(vector<ListNode*>& lists) { ListNode newList; ListNode*head=&newList; while(true){ int min=-1,minval=0x3fffffff; for(int i=0;i<lists.size();i++){ ListNode*l=lists[i]; if(l && l->val < minval){ min=i; minval=l->val; } } if(min<0)break; head->next=lists[min]; lists[min]=lists[min]->next; head=head->next; } head->next=nullptr; return newList.next; } };
|