LeetCode刷题笔录Merge k Sorted Lists
来源:互联网 发布:js 将变量替换成图片 编辑:程序博客网 时间:2024/06/12 00:04
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.
用一个priority queue,先把每个list的第一个node放进去。每次拿一个node出来,并把node.next放进去。事实上排序是由heap来做的,感觉像是作弊的样子。时间复杂度O(nklogk)。n是元素总数。
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */public class Solution { public ListNode mergeKLists(List<ListNode> lists) { Comparator<ListNode> comparator = new Comparator<ListNode>() {@Overridepublic int compare(ListNode o1, ListNode o2) {return o1.val - o2.val;}}; PriorityQueue<ListNode> queue = new PriorityQueue<ListNode>(50, comparator); for(ListNode node : lists){ if(node != null) queue.offer(node); } ListNode head = null; ListNode pre = null; while(!queue.isEmpty()){ ListNode node = queue.poll(); if(head == null){ head = node; pre = node; } else{ pre.next = node; } pre = node; if(node.next != null){ queue.offer(node.next); } } return head; }}
0 0
- LeetCode刷题笔录Merge k Sorted Lists
- LeetCode刷题笔录 Merge Two Sorted Lists
- [leetcode刷题系列]Merge k Sorted Lists
- leetcode 刷题之路 93 Merge k Sorted Lists
- LeetCode: Merge k Sorted Lists
- LeetCode Merge k Sorted Lists
- LeetCode: Merge k Sorted Lists
- [Leetcode] Merge k Sorted Lists
- [Leetcode] Merge k Sorted Lists
- [Leetcode] Merge K sorted lists
- [LeetCode]Merge k Sorted Lists
- [LeetCode] Merge k Sorted Lists
- LeetCode-Merge k Sorted Lists
- LeetCode: Merge k Sorted Lists
- LeetCode - Merge k Sorted Lists
- LeetCode | Merge k Sorted Lists
- 【leetcode】Merge k Sorted Lists
- Leetcode: Merge k Sorted Lists
- QTP的三种录制方式
- Git 常用命令详解(二)
- lua的闭包概念理解与介绍
- Front End Accessibility Development Guide
- Cocos2d-x格斗小游戏(四) 移动玩家精灵
- LeetCode刷题笔录Merge k Sorted Lists
- 暑期培训总结
- 易學原理總論
- 欢乐暑假线上编程比赛第四题:分配糖果
- WP8语音识别功能启动自己撰写的App
- window批处理-6 rem
- J2SE基础:11.异常处理
- Evaluate Reverse Polish Notation (improve)
- vs2013代码多行注释快捷键