Top 150-InterviewMittel

Teilbaum eines anderen Baums

Detaillierte Anleitung und Python-Implementierung für das Problem „Teilbaum eines anderen Baums“.

Problemstellung

Mittel

Geben Sie bei gegebenen Wurzeln zweier Binärbäume root und subRoot „true“ zurück, wenn es einen Teilbaum von „root“ mit derselben Struktur und denselben Knotenwerten von „subRoot“ gibt, andernfalls „false“.

Ein Teilbaum eines Binärbaums ist ein Baum, der aus einem Knoten im Baum und allen Nachkommen dieses Knotens besteht. Der Baum Baum könnte auch als Teilbaum seiner selbst betrachtet werden.

Die Bäume werden als Listen mit Ebenenreihenfolge dargestellt. Implementieren Sie eine Funktion isSubtree(root: list, subRoot: list) -> bool.

Einschränkungen
  • The number of nodes in the root tree is in the range [1, 2000]
  • The number of nodes in the subRoot tree is in the range [1, 1000]
  • -10000 <= root.val <= 10000
  • -10000 <= subRoot.val <= 10000

Beispiele

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

The subtree rooted at node 4 in the main tree matches subRoot exactly.

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

The subtree rooted at 4 in the main tree has an extra node 0 under 2, so it doesn't match subRoot.

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.