Skip to content

Commit 5b0ef51

Browse files
committed
reverse level order of BST is added
1 parent c63ab86 commit 5b0ef51

File tree

1 file changed

+93
-0
lines changed

1 file changed

+93
-0
lines changed
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
package Binarytree;
2+
3+
import java.util.*;
4+
5+
class Nodes{
6+
int data;
7+
Nodes left;
8+
Nodes right;
9+
Nodes(int element)
10+
{
11+
this.data = element;
12+
this.left = this.right = null;
13+
}
14+
}
15+
16+
class BST_REV{
17+
Nodes root;
18+
BST_REV()
19+
{
20+
root = null;
21+
}
22+
void addNode(int element)
23+
{
24+
root = add(root,element);
25+
}
26+
Nodes add(Nodes node, int element)
27+
{
28+
if(node == null)
29+
return new Nodes(element);
30+
if(element<=node.data)
31+
node.left = add(node.left,element);
32+
else
33+
if(element>node.data)
34+
node.right = add(node.right,element);
35+
36+
return node;
37+
}
38+
39+
ArrayList<Integer> revLevelOrder()
40+
{
41+
return revLevelOrder(root);
42+
}
43+
ArrayList<Integer> levelOrder()
44+
{
45+
return levelOrder(root);
46+
}
47+
ArrayList <Integer> levelOrder(Nodes node)
48+
{
49+
ArrayList<Integer> al = new ArrayList<>();
50+
Queue<Nodes> q = new LinkedList<>();
51+
q.add(node);
52+
while(!q.isEmpty()) {
53+
Nodes temp = q.remove();
54+
al.add(temp.data);
55+
if(temp.left!=null)
56+
q.add(temp.left);
57+
if(temp.right!=null)
58+
q.add(temp.right);
59+
}
60+
return al;
61+
}
62+
ArrayList <Integer> revLevelOrder(Nodes node)
63+
{
64+
ArrayList<Integer> al = new ArrayList<>();
65+
Queue<Nodes> q = new LinkedList<>();
66+
q.add(node);
67+
while(!q.isEmpty()) {
68+
Nodes temp = q.remove();
69+
al.add(temp.data);
70+
if(temp.right!=null)
71+
q.add(temp.right);
72+
if(temp.left!=null)
73+
q.add(temp.left);
74+
}
75+
Collections.reverse(al);
76+
return al;
77+
}
78+
79+
}
80+
81+
public class revLevelOrder {
82+
public static void main(String[] args) {
83+
BST_REV obj = new BST_REV();
84+
obj.addNode(9);
85+
obj.addNode(6);
86+
obj.addNode(13);
87+
obj.addNode(5);
88+
obj.addNode(7);
89+
obj.addNode(11);
90+
System.out.println("Level order Traversal of the entered tree is: "+obj.levelOrder());
91+
System.out.println("Reverse Level order of the tree is: "+obj.revLevelOrder());
92+
}
93+
}

0 commit comments

Comments
 (0)