Sección DSAMedio

Construcción de árboles

Guía detallada e implementación Python para el problema 'Construcción de árboles'.

Declaración del problema

Medio

Escriba una función build_tree(preorder, inorder) que reconstruya un árbol binario a partir de sus listas de recorrido en orden previo y en orden y devuelva el recorrido en orden de nivel del árbol reconstruido (representado como una lista, con None para nodos vacíos).

Restricciones
  • 1 <= len(preorder) <= 1000
  • inorder.length == preorder.length

Ejemplos

Example 1
Input
preorder = [3, 9, 20, 15, 7], inorder = [9, 3, 15, 20, 7]
Output
[3, 9, 20, None, None, 15, 7]
Explanation

Preorder allows identifying the root 3. Inorder splits left subtree [9] and right subtree [15, 20, 7]. Reconstructed tree has level order [3, 9, 20, None, None, 15, 7].

Need a Hint?
Considere la posibilidad de utilizar estructuras de datos específicas de Trees, como conjuntos o montones.
Edge Cases to Watch
  • Estructuras de entrada vacías
  • Entradas de un solo elemento
  • Grandes límites numéricos

¿Listo para resolver?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Abrir en el editor
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Recursos recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.