专栏首页*坤的Blogleetcode 23 Merge k Sorted Lists

leetcode 23 Merge k Sorted Lists

struct cmp {
    bool operator () (ListNode *a, ListNode *b) {
        return a->val > b->val;
    }
};
 
class Solution {  
public:  
    ListNode *mergeKLists(vector<ListNode *> &lists) {  
        priority_queue<ListNode*, vector<ListNode*>, cmp> q;
        for (int i = 0; i < lists.size(); ++i) {
            if (lists[i]) q.push(lists[i]);
        }
        ListNode *head = NULL, *pre = NULL, *tmp = NULL;
        while (!q.empty()) {
            tmp = q.top();
            q.pop();
            if (!pre) head = tmp;
            else pre->next = tmp;
            pre = tmp;
            if (tmp->next) q.push(tmp->next);
        }
        return head;
    }  
};  

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • leetcode 25 Reverse Nodes in k-Group

    @坤的
  • leetcode 24 Swap Nodes in Pairs

    @坤的
  • 融资2.5亿的“自主国产”红芯浏览器,其实是个套壳Chrome

    今天早上看到朋友发的浏览器图片,感觉很好奇,然后就看了下,感觉文章还不错,就转发了下,然后下载浏览器着实花了不小心思,最后文末添加了转存在蓝奏云盘的连接了.

    @坤的
  • LintCode 翻转链表题目分析代码

    样例 给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null

    desperate633
  • 翻转链表

    一份执着✘
  • 芯链第1课 如何在Ubuntu64位系统下搭建HPB开发环境

    本文详细讲解如何在Ubuntu 64位虚拟机上搭建HPB开发环境,并给出了遇到的各种问题的解决方法。主要包括: (1)下载HPB版本并编译; (2)创建账号...

    辉哥
  • 固态激光雷达公司Innoviz,现在要打中国无人车市场了

    近日,Innoviz与国内Tier 1企业北京经纬恒润科技,宣布建立合作关系,Innoviz将借道恒润销售渠道,把其激光雷达和计算机视觉技术推向中国自动驾驶市场...

    量子位
  • (八十三)c#Winform自定义控件-导航菜单(扩展)

    GitHub:https://github.com/kwwwvagaa/NetWinformControl

    冰封一夏
  • 我在腾讯云推广拿到的第一笔奖励

    我开始做推广时间其实很短,是去年12月份开始无意间接触到云服务器的推广,其实这个推广也略微给我带来了一些小收入,几个平台加起来有差不多1万2了。

    用户4636637
  • R语言基础教程——第四章:if语句

    在任何一种编程语言中都有if语句,在生物信息学分析中,经常会筛选满足一定条件的数据,if语句就很有用。在R语言中创建if..else语句的基本语法是 :

    DoubleHelix

扫码关注云+社区

领取腾讯云代金券