アルゴリズムの意図的な練習-LeetCode戦闘、12 Kマージソートリスト(C ++)

タイトル:Kマージソートリスト

元の質問へのリンク:マージKソートリスト

この質問私の考えはこれです:すべてのリストを通じて、データ・フィールド内のすべてのノードは、ベクター中に存在し、その後、ベクトル要素は、リンクリストを作成するために、最後のベクトルに従ってソートされていることができます。

コードは以下の通りであります:

/**
 * 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> merge;
        for(int i = 0; i < lists.size(); i++)
        {
            ListNode *p = lists[i];
            while(p != NULL)
            {
                merge.push_back(p->val);
                p = p->next;
            }
        }
        sort(merge.begin(), merge.end());
        ListNode *head = new ListNode();
        ListNode *p = head;
        for(int i = 0; i < merge.size(); i++)
        {
            p->next = new ListNode(merge[i]);
            p = p->next;
        }

        return head->next;

    }
};

結果を提出してください:
ここに画像を挿入説明
余談:
人類は常に自分自身の人生から選ばれた、別の彼が選択しなかった命、羨望、遺憾の意を参照してください。
-川村の活力「この世界は猫が消えている場合。」

公開された16元の記事 ウォンの賞賛0 ビュー273

おすすめ

転載: blog.csdn.net/DZZ18803835618/article/details/104811018