class Solution {public: /** * @param lists: a list of ListNode * @return: The head of one sorted list. */ ListNode* mergeKLists(vector<ListNode *> &lists ) { // write your code here ListNode* head=NULL; ListNode* last=NULL; vector<ListNode *>::iterator p,record; int tmp; while(1){ tmp=256; for(p=lists.begin();p<lists.end();p++){ if(!(*p)){ continue; } if((*p)->val<tmp){ tmp=(*p)->val; record=p; } } if(tmp==256) break; ListNode*node=new ListNode(tmp); if(!head){ head=node; last=node; } else{ last->next=node; last=node; } *record=(*record)->next; } return head; }};
新闻热点
疑难解答