Skip to content

Commit b3119ba

Browse files
committed
get level iterative
1 parent f119c1e commit b3119ba

File tree

1 file changed

+34
-2
lines changed

1 file changed

+34
-2
lines changed

Trees/getLevelNode.java

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,38 @@ public int getLevelOfNode(Node node, int val, int level) {
4444
return l;
4545
}
4646

47-
47+
void getLevelOfNode1(Node root,int val)
48+
{
49+
if (root == null)
50+
return;
51+
Queue<Node> q = new java.util.LinkedList<>();
52+
q.add(root);
53+
int level=1;
54+
while (true)
55+
{
56+
int size = q.size();
57+
if (size == 0)
58+
break;
59+
for (int i = 0; i < size; i++)
60+
{
61+
Node temp = q.remove();
62+
//System.out.print(temp.data + " ");
63+
if(val==temp.data)
64+
{
65+
System.out.println(level);
66+
System.exit(0);
67+
}
68+
if (temp.left != null) {
69+
q.add(temp.left);
70+
}
71+
if (temp.right != null) {
72+
q.add(temp.right);
73+
}
74+
75+
}
76+
level++;
77+
}
78+
}
4879
}
4980

5081
class getLevelNode{
@@ -57,6 +88,7 @@ public static void main(String[] args) {
5788
bt.root.right.left=new Node(7);
5889
bt.root.right.left.right=new Node(12);
5990
System.out.println(bt.getLevelOfNode(bt.root, 7, 1));
60-
91+
//iterative
92+
bt.getLevelOfNode1(bt.root, 12);
6193
}
6294
}

0 commit comments

Comments
 (0)