Cómo obtener la ruta más alejada desde el nodo raíz hasta el nodo hoja de un algoritmo de árbol binario
Este es un camino desde el nodo raíz hasta el nodo hoja más profundo.
int getDeep(TreeNode *raíz)
{
if (raíz == NULL)
devuelve 0;
int leftDeep = getDeep(root->left);
int rightDeep = getDeep(root->right);
return 1 + ((leftDeep >= rightDeep)? leftDeep : rightDeep);
}
void getMaxPath(TreeNode *root)
{
if (root == NULL)
return;
printf("%d", raíz->valor);
int leftDeep = getDeep(root->left);
int rightDeep = getDeep(root->right);
if (leftDeep >= rightDeep)
getMaxPath(root->left);
else
getMaxPath(raíz->derecha);
}