题解 | #合并k个已排序的链表#

合并k个已排序的链表

http://www.nowcoder.com/practice/65cfde9e5b9b4cf2b6bafa5f3ef33fa6

先将k个有序链表的结点全部保存在vector中,注意在存结点的过程中保证每个节点的后继为空,使其称为独立的单独结点;然后自定义排序lambda对vector中的元素排序,最后将这些元素建成一个链表。

/**
 * 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) {
        auto cmp=[](ListNode* node1,ListNode* node2){
            return node1->val <= node2->val;
        };
        vector<ListNode* > vec{};
        for(auto& sub_list : lists){
            while(sub_list!=nullptr){
                auto cur=sub_list;
                sub_list=sub_list->next;
                cur->next=nullptr;
                vec.push_back(cur);
            }
        }
        sort(vec.begin(),vec.end(),cmp);
        ListNode* dummy_head=new ListNode{INT_MAX};
        ListNode* cur=dummy_head;
        for(auto& node:vec){
            cur->next=node;
            cur=node;
        }
        return dummy_head->next;
    }
};



全部评论

相关推荐

感觉他们一点都不了解现在这个社会就业有多难,已经在牛客刷到好多篇&nbsp;延毕的帖子了,延毕就会导致已经找好的工作就没了,还得重新再找,学校和老师们是怎么想的呢????看到学生丢失工作会开心吗&nbsp;就业数据都在造假,真实的就业困难不去解决&nbsp;一个个真是好样的
从今天开始狠狠卷JVAV_癫:学生看到的是导师不放实习导致offer黄了。 导师看到的是招进来的学生吃自己补助和自己的招生名额,却没给自己升迁带来任何帮助,还要跑路。 根本利益的不一致,最主要留校的导师大概率是职场上招聘失败的,被迫留校的,什么牛鬼蛇神都会有
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务