150 principais entrevistasFácil

Menor ancestral comum do BST

Guia detalhado e implementação de Python para o problema do 'menor ancestral comum do BST'.

Declaração do problema

Fácil

Dada uma árvore de pesquisa binária (BST), encontre o nó do ancestral comum mais baixo (LCA) de dois nós fornecidos no BST.

De acordo com a definição de LCA: "O menor ancestral comum é definido entre dois nós p e q como o nó mais baixo em T que tem p e q como descendentes (onde permitimos que um nó seja descendente de si mesmo)."

O BST é representado como uma lista de ordem de nível. Implemente uma função lowestCommonAncestor(root: list, p: int, q: int) -> int que retorna o valor do nó LCA.

Restrições
  • 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

Exemplos

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?
Considere usar estruturas de dados específicas de árvores, como conjuntos ou heaps.
Edge Cases to Watch
  • Estruturas de entrada vazias
  • Entradas de elemento único
  • Grandes limites numéricos

Pronto para resolver?

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

Abrir no Editor
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

Recursos Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.