zoukankan      html  css  js  c++  java
  • 【Leetcode】23. 合并K个升序链表

    23. 合并K个升序链表

    解法1:

     1 class Solution {
     2 public:
     3     ListNode* mergeKLists(vector<ListNode*>& lists) 
     4     {
     5         auto cmp = [](ListNode*& a, ListNode*& b) 
     6         {
     7             return a->val > b->val;
     8         };
     9         priority_queue<ListNode*, vector<ListNode*>, decltype(cmp) > q(cmp);
    10         for (auto node : lists) 
    11         {
    12             if (node) q.push(node);
    13         }
    14         ListNode *dummy = new ListNode(-1), *cur = dummy;
    15         while (!q.empty()) 
    16         {
    17             auto t = q.top(); q.pop();
    18             cur->next = t;
    19             cur = cur->next;
    20             if (cur->next) q.push(cur->next);
    21         }
    22         return dummy->next;
    23     }
    24 };
  • 相关阅读:
    HDU 6043
    HDU 6033
    HDU 6041
    HDU 6050
    HDU 6053
    HDU 6055
    HDU 6045
    HDU 6044
    HDU 6040
    ZUFE 1035 字符宽度编码(字符串)
  • 原文地址:https://www.cnblogs.com/sunbines/p/15530987.html
Copyright © 2011-2022 走看看