zl程序教程

您现在的位置是:首页 >  其他

当前栏目

leetcode 23 合并k个升序列表

LeetCode 合并 23
2023-09-27 14:29:24 时间

合并k个升序列表

在这里插入图片描述

高频题(数组转换)

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), next(next) {}
 * };
 */
class Solution {
public:
    ListNode* mergeKLists(vector<ListNode*>& lists) {
        ListNode* head = new ListNode;
        vector<int> nums;

        for(int i=0 ; i<lists.size() ;i++)
        {
            ListNode* tmp = lists[i];
            while(tmp!=nullptr)
            {
                nums.push_back(tmp->val);
                tmp = tmp->next;
            }
        }
        sort(nums.begin(),nums.end());
        
        ListNode* tmp = head;
        for(int i=0 ; i<nums.size();i++)
        {
            ListNode* node = new ListNode(nums[i]);
            tmp->next = node;
            tmp = tmp->next;
        }
        return head->next;
    }
};