150 principais entrevistasMédio

Árvore binária balanceada

Guia detalhado e implementação de Python para o problema de 'Árvore Binária Balanceada'.

Declaração do problema

Médio

Dada uma árvore binária, determine se ela é balanceada em altura.

Uma árvore binária com altura balanceada é uma árvore binária na qual a profundidade das duas subárvores de cada nó nunca difere em mais de um.

A árvore é representada como uma lista de ordem de nível. Implemente uma função isBalanced(root: list) -> bool.

Restrições
  • The number of nodes in the tree is in the range [0, 5000]
  • -10000 <= Node.val <= 10000

Exemplos

Example 1
Input
[3,9,20,None,None,15,7]
Output
True
Explanation

The left subtree (rooted at 9) has depth 1, and the right subtree (rooted at 20) has depth 2. The difference is 1, so the tree is balanced.

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

The left subtree has depth 3 while the right subtree has depth 1. The difference is 2, so the tree is not balanced.

Example 3
Input
[]
Output
True
Explanation

An empty tree is considered balanced.

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.