Top 150-InterviewSchwer

Maximale Pfadsumme des Binärbaums

Detaillierte Anleitung und Python-Implementierung für das Problem „Binary Tree Maximum Path Sum“.

Problemstellung

Schwer

Ein Pfad in einem Binärbaum ist eine Folge von Knoten, wobei jedes Paar benachbarter Knoten in der Folge durch eine Kante verbunden ist. Ein Knoten kann in der Sequenz höchstens einmal vorkommen. Beachten Sie, dass der Pfad nicht durch die Wurzel verlaufen muss.

Die Pfadsumme eines Pfades ist die Summe der Knotenwerte im Pfad.

Geben Sie bei gegebener Wurzel eines Binärbaums die maximale Pfadsumme aller nicht leeren Pfade zurück.

Der Baum wird als Liste mit Ebenenreihenfolge dargestellt. Implementieren Sie eine Funktion maxPathSum(root: list) -> int.

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

Beispiele

Example 1
Input
[1,2,3]
Output
6
Explanation

The optimal path is 2 -> 1 -> 3 with a path sum of 2 + 1 + 3 = 6.

Example 2
Input
[-10,9,20,None,None,15,7]
Output
42
Explanation

The optimal path is 15 -> 20 -> 7 with a path sum of 15 + 20 + 7 = 42.

Example 3
Input
[-3]
Output
-3
Explanation

The only path is the single node -3.

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.