1. 程式人生 > >LintCode--合併k個排序連結串列

LintCode--合併k個排序連結串列

為啥將這題單獨拿出來?因為我覺得這題教我的太多了!

一個比較難的問題,可能一時想不出來這很正常,但是一定要有思考的方向,要往以前做過的題目上靠,這題我剛開始看是沒啥思路的,感覺比較難。但是突然想到以前做過合併兩個排序連結串列,這不就是依次合併兩個排序連結串列就可以了嗎!!!

所以最後程式碼變成:

ListNode *mergeKLists(vector<ListNode *> &lists) {
        // write your code here
        
        ListNode*temp=NULL;
        for(int i=0;i<lists.size();i++)
        {
            temp=mergeTwoLists(temp,lists[i]);
        }
        return temp;
    }
當然,得把之前的mergeTwoLists貼在上面(上篇部落格裡面有)。

網上有一大堆合併k個連結串列的程式,但是我覺得這個真的比較好理解!