当前位置:网站首页>LeetCode 23: 合并K个升序链表
LeetCode 23: 合并K个升序链表
2022-08-02 03:57:00 【斯沃福德】
题目:
思路:
使用最小堆,for-each 取出每一个链表的头节点,将val值依次放入堆中;
最后从小到大依次取出即可;
使用哨兵节点;
class Solution {
PriorityQueue<Integer> p=new PriorityQueue<>();
public ListNode mergeKLists(ListNode[] lists) {
// 拿到每个listNode的头节点
for(ListNode k:lists){
add(k);
}
ListNode mer=new ListNode(-1);
ListNode curr=mer;
while(!p.isEmpty()){
int temp=p.poll();
curr.next=new ListNode(temp);
curr=curr.next;
}
return mer.next;
}
void add(ListNode head){
while(head!=null){
p.add(head.val);
head=head.next;
}
}
}
边栏推荐
猜你喜欢
随机推荐
复制延迟案例(4)-一致前缀读
被大厂强制毕业,两个月空窗期死背八股文,幸好上岸,不然房贷都还不上了
吴恩达机器学习系列课程笔记——第十六章:推荐系统(Recommender Systems)
ADSP21489工程中LDF文件配置详解
最后写入胜利(丢弃并发写入)
多主复制下处理写冲突(3)-收敛至一致的状态及自定义冲突解决逻辑
micro-ros arduino esp32 ros2 笔记
Pycharm platform import scikit-learn
UI自动化测试框架搭建——标记性能较差用例
多主复制的适用场景(1)-多IDC
批量--09---批量读文件入表
Zabbix删除一些大表历史数据脚本
吴恩达机器学习系列课程笔记——第十八章:应用实例:图片文字识别(Application Example: Photo OCR)
OpenCV内阈值处理方法
SCI writing strategy - with common English writing sentence patterns
强化学习(西瓜书第16章)思维导图
Platts Analysis-MATLAB Toolbox Function
论人生自动化
Win8.1下QT4.8集成开发环境的搭建
吴恩达机器学习系列课程笔记——第七章:正则化(Regularization)