From 9f8a6444ac5a2a29ad80e9af969b3713026d5f01 Mon Sep 17 00:00:00 2001 From: Felix <79116375+FelixRodriguezJr@users.noreply.github.com> Date: Tue, 3 May 2022 21:06:32 -0400 Subject: [PATCH] Create 23-Merge-k-Sorted-Lists.java --- java/23-Merge-k-Sorted-Lists.java | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 java/23-Merge-k-Sorted-Lists.java diff --git a/java/23-Merge-k-Sorted-Lists.java b/java/23-Merge-k-Sorted-Lists.java new file mode 100644 index 000000000..4d05c5526 --- /dev/null +++ b/java/23-Merge-k-Sorted-Lists.java @@ -0,0 +1,24 @@ +class Solution { + public ListNode mergeKLists(ListNode[] lists) { + + Queue minHeap = new PriorityQueue<>(); + + for(ListNode nodes : lists){ + ListNode current = nodes; + while(current != null){ + minHeap.add(current.val); + current = current.next; + } + } + + ListNode dummy = new ListNode(0); + ListNode current = dummy; + + while(!minHeap.isEmpty()){ + current.next = new ListNode(minHeap.poll()); + current = current.next; + } + + return dummy.next; + } +}