23. Merge k Sorted Lists

This commit is contained in:
2026-03-25 17:32:12 +03:00
parent 2464aeff0e
commit 12912123de
5 changed files with 67 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
public class Solution
{
public ListNode? MergeKLists(ListNode[] lists)
{
ListNode? head = null;
ListNode? tail = null;
var queue = new PriorityQueue<ListNode, int>();
foreach (var l in lists)
if (l != null)
queue.Enqueue(l, l.val);
while (queue.Count > 0)
{
var l = queue.Dequeue();
if (head == null || tail == null)
{
head = l;
tail = l;
}
else
{
tail.next = l;
tail = l;
}
if (l.next != null)
queue.Enqueue(l.next, l.next.val);
}
return head;
}
}