@@ -0,0 +1,979 @@
+/**%0A * Definition for singly-linked list.%0A * public class ListNode %7B%0A *     int val;%0A *     ListNode next;%0A *     ListNode(int x) %7B val = x; %7D%0A * %7D%0A */%0Apublic class Solution %7B%0A    public ListNode mergeKLists(ListNode%5B%5D lists) %7B%0A        if (lists.length == 0)%0A            return null;%0A        PriorityQueue%3CListNode%3E queue = new PriorityQueue%3C%3E(lists.length, new Comparator%3CListNode%3E() %7B%0A            @Override%0A            public int compare(ListNode o1, ListNode o2) %7B%0A                return o1.val - o2.val;%0A            %7D%0A        %7D);%0A        for (int i = 0; i %3C lists.length; i++) %7B%0A            if (lists%5Bi%5D != null)%0A                queue.add(lists%5Bi%5D);%0A        %7D%0A %0A        ListNode head = new ListNode(0);%0A        ListNode p = head;%0A        while (!queue.isEmpty()) %7B%0A            ListNode node = queue.poll();%0A            p.next = node;%0A            if (node.next != null)%0A                queue.add(node.next);%0A            p = p.next;%0A        %7D%0A        return head.next;%0A    %7D%0A%7D%0A

Create Merge_k_Sorted_Lists.java