leetcode Merge k Sorted Lists

class Solution {
public:
    ListNode *mergeKLists(vector<ListNode *> &lists) 
    {
        int n=lists.size();
        if(n==0)return NULL;       
        ListNode *head=new ListNode(INT_MIN);
        ListNode *ret=head;
        int min;  
        bool finish;
        while(1)
       {
          finish=true;
          min=INT_MAX;
          int i;int mini;
          for(i=0;i<lists.size();i++)
          {
             if(lists[i]!=NULL)
             {
                if(lists[i]->val<min)
                {
                    min=lists[i]->val;
                    mini=i;
                    finish=false;
                }
             }            
          }
          if(finish)break;    
          head->next=lists[mini];
          head=head->next;
          lists[mini]=lists[mini]->next;      
       }
       return ret->next;
    }
};

  

posted @ 2013-06-30 20:45  代码改变未来  阅读(935)  评论(0编辑  收藏  举报