In the Leetcode Merge k Sorted Lists problem solution in Java programming Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.
You are given an array of k linked-lists lists, each linked-list is sorted in ascending order.
Merge all the linked-lists into one sorted linked-list and return it.
Example 1:
Input: lists = [[1,4,5],[1,3,4],[2,6]]
Output: [1,1,2,3,4,4,5,6]
Explanation: The linked lists are:
[
1->4->5,
1->3->4,
2->6
]
merging them into one sorted list:
1->1->2->3->4->4->5->6
Constraints:
- k == lists.length
- 0 <= k <= 104
- 0 <= lists[i].length <= 500
- -104 <= lists[i][j] <= 104
- lists[i] is sorted in ascending order.
- The sum of lists[i].length will not exceed 104.
Leetcode Merge k Sorted Lists problem solution in Java programming
class Solution {
public ListNode mergeKLists(ListNode[] lists) {
if (lists == null || lists.length == 0) {
return null;
}
PriorityQueue<Integer> queue = new PriorityQueue<>();
for (ListNode node : lists) {
while (node != null) {
queue.offer(node.val);
node = node.next;
}
}
return getNode(queue);
}
private ListNode getNode(PriorityQueue<Integer> queue) {
if (!queue.isEmpty()) {
ListNode node = new ListNode(queue.poll(), null);
node.next = getNode(queue);
return node;
}
return null;
}
}
Also read,
- Leetcode Merge k Sorted Lists problem solution in C++
- Leetcode Merge k Sorted Lists problem solution in C
- Leetcode Merge k Sorted Lists problem solution in Python
- Leetcode Merge k Sorted Lists problem solution in C#