DSA-SektionMittel

Baumbau

Detaillierte Anleitung und Python-Implementierung für das Problem „Baumkonstruktion“.

Problemstellung

Mittel

Schreiben Sie eine Funktion build_tree(preorder, inorder), die einen Binärbaum aus seinen Vor- und Inorder-Traversallisten rekonstruiert und die Level-Order-Traversierung des rekonstruierten Baums zurückgibt (dargestellt als Liste, mit None für leere Knoten).

Einschränkungen
  • 1 <= len(preorder) <= 1000
  • inorder.length == preorder.length

Beispiele

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?
Erwägen Sie die Verwendung von Trees-spezifischen Datenstrukturen wie Sets oder Heaps.
Edge Cases to Watch
  • Leere Eingabestrukturen
  • Einzelelementeingaben
  • Große numerische Grenzen

Bereit zur Lösung?

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

Im Editor öffnen
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

Empfohlene Python-Ressourcen

Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.