其他分享
首页 > 其他分享> > [5]力扣每日一题&南通一日游随感

[5]力扣每日一题&南通一日游随感

作者:互联网

题目呈现如下:

题目
题目传送门

思路介绍:

下附AC代码:

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
 struct functional {
     bool operator() (ListNode* n1,ListNode* n2) {
        return n1->val > n2->val; // 构建小根堆,我猜测返回的布尔值的意义是:是否对n1进行down操作与n2调换位置
    }
 };
class Solution {
public:
    ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
        priority_queue<ListNode*,vector<ListNode*>,functional> pq;
        ListNode* dummyHead = new ListNode(0); // 哨兵
        ListNode* cur = dummyHead;
        if(l1) pq.push(l1);
        if(l2) pq.push(l2);
        while(!pq.empty()) {
            ListNode* nxt = pq.top();
            pq.pop();
            cur->next = nxt;
            cur = cur->next;
            if(nxt->next) pq.push(nxt->next);
        }
        return dummyHead->next;
    }
};

附加:

今日和友人一同游玩南通,畅游濠河(甚至'负距离'感受了一下濠河[doge])

标签:力扣,pq,ListNode,cur,next,随感,l2,l1,一题
来源: https://www.cnblogs.com/tsuipo/p/12815436.html