Section DSAMoyen

Construction d'arbres

Guide détaillé et implémentation de Python pour le problème 'Tree Construction'.

Énoncé du problème

Moyen

Écrivez une fonction build_tree(preorder, inorder) qui reconstruit un arbre binaire à partir de ses listes de parcours de pré-ordre et d'ordre intermédiaire et renvoie le parcours par ordre de niveau de l'arbre reconstruit (représenté sous forme de liste, avec None pour les nœuds vides).

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

Exemples

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?
Pensez à utiliser des structures de données spécifiques aux arbres, comme des ensembles ou des tas.
Edge Cases to Watch
  • Structures d'entrée vides
  • Entrées à élément unique
  • Grandes limites numériques

Prêt à résoudre ?

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

Ouvrir dans l'éditeur
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

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.