Top 150-InterviewMittel

Binärbaum serialisieren und deserialisieren

Detaillierte Anleitung und Python-Implementierung für das Problem „Binärbaum serialisieren und deserialisieren“.

Problemstellung

Mittel

Bei der Serialisierung wird eine Datenstruktur oder ein Objekt in eine Bitfolge umgewandelt, sodass es in einer Datei oder einem Speicherpuffer gespeichert oder über eine Netzwerkverbindung übertragen werden kann, um später in derselben oder einer anderen Computerumgebung wiederhergestellt zu werden.

Entwerfen Sie einen Algorithmus zum Serialisieren und Deserialisieren eines Binärbaums. Es gibt keine Einschränkung hinsichtlich der Funktionsweise Ihres Serialisierungs-/Deserialisierungsalgorithmus. Sie müssen lediglich sicherstellen, dass ein Binärbaum in eine Zeichenfolge serialisiert und diese Zeichenfolge in die ursprüngliche Baumstruktur deserialisiert werden kann.

Der Baum wird als Liste mit Ebenenreihenfolge dargestellt. Implementieren Sie zwei Funktionen:

- serialize(root: list) -> str, der den Baum in eine Zeichenfolge konvertiert.

- deserialize(data: str) -> list, der die Zeichenfolge zurück in den Baum konvertiert.

Implementieren Sie zum Testen serializeDeserialize(root: list) -> list, das serialisiert und dann deserialisiert und das Ergebnis zurückgibt.

Einschränkungen
  • The number of nodes in the tree is in the range [0, 10000]
  • -1000 <= Node.val <= 1000

Beispiele

Example 1
Input
[1,2,3,None,None,4,5]
Output
[1,2,3,None,None,4,5]
Explanation

The tree is serialized to a string and deserialized back to the same tree structure.

Example 2
Input
[]
Output
[]
Explanation

An empty tree serialized and deserialized remains empty.

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.