Profundidade de nós em árvores
A profundidade de uma nó é o número de arestas do caminho da raiz até aquele nó.
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 getDepth(TreeNode node, int value, int depth) {
// If the node is null, return -1 (not found)
if (node == null) {
return -1;
}
// If the current node matches the value, return the depth
if (node.value == value) {
return depth;
}
// Recursively check the left and right subtrees, increasing the depth
int leftDepth = getDepth(node.left, value, depth + 1);
if (leftDepth != -1) {
return leftDepth; // Node found in the left subtree
}
return getDepth(node.right, value, depth + 1); // Check right subtree
}
int getDepth(int value) {
return getDepth(root, value, 0);
}
}