【Leetcode优先级队列】-合并K个升序链表
发布日期:2021-06-29 15:36:24 浏览次数:3 分类:技术文章

本文共 707 字,大约阅读时间需要 2 分钟。

【Leetcode优先级队列】-合并K个升序链表

给你一个链表数组,每个链表都已经按升序排列。

请你将所有链表合并到一个升序链表中,返回合并后的链表。

示例 1:

输入:lists = [[1,4,5],[1,3,4],[2,6]]

输出:[1,1,2,3,4,4,5,6]
解释:链表数组如下:
[
1->4->5,
1->3->4,
2->6
]
将它们合并到一个有序链表中得到。
1->1->2->3->4->4->5->6

/** * Definition for singly-linked list. * public class ListNode { *     int val; *     ListNode next; *     ListNode() {} *     ListNode(int val) { this.val = val; } *     ListNode(int val, ListNode next) { this.val = val; this.next = next; } * } */class Solution {
public ListNode mergeKLists(ListNode[] lists) {
// 合并K个升序链表,topK问题,用优先级队列 自定义排序 建立最小 PriorityQueue
queue = new PriorityQueue<>((l1,l2)->(l1.val-l2.val)); //对其存入值 for(int i=0;i

转载地址:https://codingchaozhang.blog.csdn.net/article/details/115801738 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【多线程与高并发】-Java如何实现一个阻塞队列呢?
下一篇:【Leetcode优先级队列】- 数据流的中位数

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月16日 01时12分03秒