Top 150-InterviewEinfach

Niedrigster gemeinsamer Vorfahre von BST

Detaillierte Anleitung und Python-Implementierung für das Problem „Niedrigster gemeinsamer Vorfahre von BST“.

Problemstellung

Einfach

Finden Sie anhand eines binären Suchbaums (BST) den Knoten mit dem niedrigsten gemeinsamen Vorfahren (LCA) von zwei gegebenen Knoten im BST.

Gemäß der Definition von LCA: „Der niedrigste gemeinsame Vorfahre ist zwischen zwei Knoten p und q als der niedrigste Knoten in T definiert, der sowohl p als auch q als Nachkommen hat (wobei wir zulassen, dass ein Knoten ein Nachkomme von sich selbst ist).“

Der BST wird als Level-Order-Liste dargestellt. Implementieren Sie eine Funktion lowestCommonAncestor(root: list, p: int, q: int) -> int, die den Wert des LCA-Knotens zurückgibt.

Einschränkungen
  • The number of nodes in the tree is in the range [2, 100000]
  • -1000000000 <= Node.val <= 1000000000
  • All Node.val are unique
  • p != q
  • p and q will exist in the BST

Beispiele

Example 1
Input
[6,2,8,0,4,7,9,None,None,3,5], 2, 8
Output
6
Explanation

The LCA of nodes 2 and 8 is 6, which is the root.

Example 2
Input
[6,2,8,0,4,7,9,None,None,3,5], 2, 4
Output
2
Explanation

The LCA of nodes 2 and 4 is 2, since a node can be a descendant of itself.

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

The LCA of nodes 2 and 1 is 2.

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.