Skip to content

Commit f119c1e

Browse files
committed
get level recursive
1 parent 86cd426 commit f119c1e

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed

Trees/getLevelNode.java

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
import java.util.*;
2+
class Node
3+
{
4+
int data;
5+
Node left;
6+
Node right;
7+
Node(int data)
8+
{
9+
this.data=data;
10+
left=right=null;
11+
}
12+
}
13+
14+
class BinaryTree{
15+
Node root;
16+
BinaryTree()
17+
{
18+
root = null;
19+
}
20+
BinaryTree(int data)
21+
{
22+
this.root=new Node(data);
23+
}
24+
25+
public int getLevelOfNode(Node node, int val, int level) {
26+
if(node == null) {
27+
return 0;
28+
}
29+
30+
int l;
31+
32+
if(node.data == val) {
33+
return level;
34+
}
35+
36+
l = getLevelOfNode(node.left, val, level + 1);
37+
38+
if(l != 0) {
39+
return l;
40+
}
41+
42+
l = getLevelOfNode(node.right, val, level + 1);
43+
44+
return l;
45+
}
46+
47+
48+
}
49+
50+
class getLevelNode{
51+
public static void main(String[] args) {
52+
53+
BinaryTree bt=new BinaryTree(2);
54+
bt.root.left=new Node(3);
55+
bt.root.right=new Node(5);
56+
bt.root.left.right=new Node(9);
57+
bt.root.right.left=new Node(7);
58+
bt.root.right.left.right=new Node(12);
59+
System.out.println(bt.getLevelOfNode(bt.root, 7, 1));
60+
61+
}
62+
}

0 commit comments

Comments
 (0)