Skip to content

Commit 85a16e7

Browse files
committed
amazon dll linked list to tree
1 parent cdd47aa commit 85a16e7

File tree

2 files changed

+75
-3
lines changed

2 files changed

+75
-3
lines changed
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
package LinkedList;
2+
3+
import java.util.*;
4+
5+
/**
6+
* Created by dheeraj on 7/15/2016.
7+
* double linked list 1->2->3>-4->5->6->7->8->9 create tree such that
8+
* <p>
9+
* 1
10+
* /\
11+
* 2 3
12+
* /\ /\
13+
* 4 5 6 7
14+
* /\
15+
* 8 9
16+
*/
17+
public class AmazonDLLtoTree {
18+
19+
private static class Node {
20+
Node prev, next;
21+
int data;
22+
23+
public Node(int data) {
24+
this.data = data;
25+
}
26+
}
27+
28+
private static Node insert(Node node, int data) {
29+
if (node == null) {
30+
return new Node(data);
31+
} else {
32+
Node node1 = new Node(data);
33+
node1.next = node;
34+
node.prev = node1;
35+
return node1;
36+
}
37+
}
38+
39+
public static void main(String[] strings) {
40+
Node node = null;
41+
for (int k = 8; k >= 1; k--) {
42+
node = insert(node, k);
43+
}
44+
45+
Queue<Node> queue = new LinkedList<Node>();
46+
queue.add(node);
47+
Node nextNode = node.next;
48+
while (nextNode != null) {
49+
Node node1 = queue.poll();
50+
51+
Node temp1 = nextNode;
52+
nextNode = nextNode.next;
53+
temp1.prev = null;
54+
temp1.next = null;
55+
node1.prev = temp1;
56+
57+
queue.add(temp1);
58+
59+
temp1 = nextNode;
60+
if(temp1 != null) {
61+
nextNode = nextNode.next;
62+
temp1.prev = null;
63+
temp1.next = null;
64+
node1.next = temp1;
65+
queue.add(temp1);
66+
}
67+
}
68+
System.out.println();
69+
}
70+
71+
72+
}
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
/**
77
* Created by dheeraj on 7/2/2016.
88
*/
9-
public class LinkedList {
9+
public class MyLinkedList {
1010
private static class Node {
1111
int data;
1212
Node next;
@@ -19,7 +19,7 @@ private static class Node {
1919

2020
public Node root;
2121

22-
public LinkedList() {
22+
public MyLinkedList() {
2323
this.root = null;
2424
}
2525

@@ -60,7 +60,7 @@ private void print(Node root) {
6060
public static void main(String[] args) {
6161
String data = "";
6262
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
63-
LinkedList linkedList = new LinkedList();
63+
MyLinkedList linkedList = new MyLinkedList();
6464
while (true) {
6565

6666
try{

0 commit comments

Comments
 (0)