Nível de nós em árvores
O nível de um nó pode ser definido seguindo um algoritmo recursivo.
- A raiz da árvore está no nível 0 (zero) -> caso base
- Os níveis dos demais nós é igual ao nível do pai + 1
Exemplo de implementação em Java:
class TreeNode {
int value;
TreeNode left, right;
TreeNode(int item) {
value = item;
left = right = null;
}
}
class BinaryTree {
TreeNode root;
int getLevel(TreeNode node, int value, int level) {
if (node == null) {
return -1;
}
if (node.value == value) {
return level;
}
int leftLevel = getLevel(node.left, value, level + 1);
if (leftLevel != -1) {
return leftLevel;
}
return getLevel(node.right, value, level + 1);
}
int getLevel(int value) {
return getLevel(root, value, 0);
}
}