Given a Binary Tree and a key, write a function that returns level of the key.
For example, consider the following tree. If the input key is 3, then your function should return 1. If the input key is 4, then your function should return 3. And for key which is not present in key, then your function should return 0.
Solution:
int
getLevelUtil(Node node,
int
data,
int
level)
{
if
(node ==
null
)
return
0
;
if
(node.data == data)
return
level;
int
downlevel = getLevelUtil(node.left, data, level +
1
);
if
(downlevel !=
0
)
return
downlevel;
downlevel = getLevelUtil(node.right, data, level +
1
);
return
downlevel;
}
/* Returns level of given data value */
int
getLevel(Node node,
int
data)
{
return
getLevelUtil(node, data,
1
);
}
No comments:
Post a Comment