Contenido del curso

DFS

BFS

Backtrack

Suma de caminos raíz a hoja en árboles

Resumen

Si te enfrentas al problema Sum Root to Leaf Numbers, lo primero que necesitas dominar es cómo se construyen los números a partir de los caminos entre la raíz y las hojas de un árbol binario. Este reto, común en entrevistas técnicas y plataformas como LeetCode, pone a prueba tu manejo de recorridos en árboles y tu capacidad de traducir jerarquía en valores numéricos.

¿Qué pide el problema Sum Root to Leaf Numbers?

El enunciado entrega la raíz de un árbol binario cuyos nodos contienen únicamente dígitos del cero al nueve. Tu tarea es devolver la suma total de todos los números formados por los caminos que van desde la raíz hasta cada nodo hoja.

La clave está en cómo se forma cada número. Mientras más arriba esté un nodo en la jerarquía del árbol, más a la izquierda quedará su dígito dentro del número final. Es decir, la raíz aporta el dígito más significativo y la hoja aporta el menos significativo.

¿Qué es un nodo hoja en un árbol binario? Es un nodo que no tiene hijos, ni izquierdo ni derecho. Marca el final de un camino dentro del árbol.

¿Cómo se forman los números entre raíz y hoja?

Imagina un árbol muy sencillo con la raíz 1, un hijo izquierdo 2 y un hijo derecho 3. Aquí tienes dos caminos posibles desde la raíz hasta una hoja [0:34].

  • Camino izquierdo: 1 seguido de 2 forma el número 12.
  • Camino derecho: 1 seguido de 3 forma el número 13.
  • Suma final: 12 + 13 = 25.

Ese 25 es exactamente lo que debes retornar. Y aquí viene lo interesante: si el árbol creciera y debajo del 2 apareciera otro 3, el camino ya no sería 12, sino 123, porque cada nivel adicional desplaza los dígitos anteriores hacia la izquierda.

¿Por qué la jerarquía define el valor del dígito?

Piensa en cómo lees un número de varias cifras. El dígito de la izquierda vale más que el de la derecha. En el árbol pasa lo mismo: la raíz ocupa la posición más alta y, conforme bajas hacia las hojas, vas concatenando dígitos a la derecha. Por eso un camino de tres nodos genera un número de tres cifras.

¿Qué entrada y qué salida espera la función?

La firma del problema es directa y conviene tenerla clara antes de programar.

  • Entrada: la raíz del árbol binario, es decir, un único nodo desde el cual puedes recorrer toda la estructura.
  • Salida: un entero que representa la suma de todos los números formados por los caminos raíz a hoja.
  • Restricción de valores: cada nodo contiene solo dígitos del 0 al 9, lo que garantiza que la concatenación produce números válidos.

¿Qué se retorna en Sum Root to Leaf Numbers? Un solo entero: la suma de todos los números construidos al recorrer cada camino completo desde la raíz hasta una hoja.

¿Qué herramientas del curso puedes aplicar para resolverlo?

Antes de saltar a una solución, vale la pena que pienses qué recursos previos encajan aquí. Los árboles binarios se prestan a recorridos recursivos, y este problema en particular tiene un patrón muy típico: arrastrar un valor acumulado mientras desciendes por cada rama.

Algunas pistas para tu análisis:

  • Identifica cuándo un nodo es hoja, porque ahí cierras el número y lo sumas al total.
  • Piensa cómo transformar el acumulado al bajar un nivel. Multiplicar por 10 y sumar el dígito actual suele ser el truco.
  • Decide si prefieres recursión, una pila explícita o un recorrido en anchura.

¿Qué enfoque usarías tú? Déjame en los comentarios tu análisis, las estructuras que considerarías y el pseudocódigo que tienes en mente. En la siguiente clase reviso una posible solución para que la compares con la tuya.