设为首页 加入收藏

TOP

LeetCode Merge k Sorted Lists
2015-07-20 17:18:22 来源: 作者: 【 】 浏览:3
Tags:LeetCode Merge Sorted Lists

Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.

题意:将k个已经排好序的链表合并成一个

思路:用到优先队列比较简单。

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
struct cmp{
    bool operator() (ListNode *a, ListNode *b) {
        return a->val > b->val;
    }
};

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



】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇java中线程安全的集合对象 下一篇Unique Paths (法1递归-动态规划..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·如何理解c语言指针和 (2025-12-27 01:19:11)
·为什么C标准库没有链 (2025-12-27 01:19:08)
·玩转C语言和数据结构 (2025-12-27 01:19:05)
·MySQL 基础入门视频 (2025-12-26 23:20:22)
·小白入门:MySQL超详 (2025-12-26 23:20:19)