Skip to content

Commit 4bc8396

Browse files
authored
Update Merge_K_SortedLinkedlist.java
format code
1 parent f3ef5b6 commit 4bc8396

File tree

1 file changed

+37
-46
lines changed

1 file changed

+37
-46
lines changed
Lines changed: 37 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,54 @@
1-
import java.util.*;
1+
import java.util.Arrays;
2+
import java.util.Comparator;
3+
import java.util.PriorityQueue;
24

5+
/**
6+
* @author Arun Pandey (https://github.com/pandeyarun709)
7+
*/
38
public class Merge_K_SortedLinkedlist {
4-
5-
/*
6-
* This function merge K sorted LinkedList
7-
* @param Node []a : array of LinkedList
8-
* @param int N : size of array
9-
*
10-
* author Arun Pandey (https://github.com/pandeyarun709)
11-
*/
12-
Node mergeKList(Node[]a, int N)
13-
{
9+
10+
/**
11+
* This function merge K sorted LinkedList
12+
*
13+
* @param a array of LinkedList
14+
* @param N size of array
15+
* @return node
16+
*/
17+
Node mergeKList(Node[] a, int N) {
1418
// Min Heap
15-
PriorityQueue<Node> min = new PriorityQueue<>(new Comparator<Node>(){
16-
17-
public int compare(Node x , Node y){
18-
return x.data - y.data;
19-
}
20-
});
21-
19+
PriorityQueue<Node> min = new PriorityQueue<>(Comparator.comparingInt(x -> x.data));
20+
2221
// adding head of all linkedList in min heap
23-
for(int i =0 ; i< N ;i++)
24-
{
25-
min.add(a[i]);
26-
}
27-
22+
min.addAll(Arrays.asList(a).subList(0, N));
23+
2824
// Make new head among smallest heads in K linkedList
2925
Node head = min.poll();
3026
min.add(head.next);
3127
Node curr = head;
3228

33-
//merging LinkedList
34-
while(!min.isEmpty()) {
35-
29+
// merging LinkedList
30+
while (!min.isEmpty()) {
31+
3632
Node temp = min.poll();
3733
curr.next = temp;
3834
curr = temp;
39-
40-
//Add Node in min Heap only if temp.next is not null
41-
if(temp.next != null){
35+
36+
// Add Node in min Heap only if temp.next is not null
37+
if (temp.next != null) {
4238
min.add(temp.next);
4339
}
4440
}
45-
46-
return head;
47-
48-
49-
}
50-
51-
// Node Class
52-
private class Node{
53-
private int data;
54-
private Node next;
55-
56-
public Node(int d)
57-
{
58-
this.data = d;
59-
next = null;
60-
}
41+
42+
return head;
6143
}
6244

63-
}
45+
private class Node {
46+
private int data;
47+
private Node next;
48+
49+
public Node(int d) {
50+
this.data = d;
51+
next = null;
52+
}
53+
}
54+
}

0 commit comments

Comments
 (0)