150 principais entrevistasDifícil

Soma máxima do caminho da árvore binária

Guia detalhado e implementação de Python para o problema 'Soma máxima do caminho da árvore binária'.

Declaração do problema

Difícil

Um caminho em uma árvore binária é uma sequência de nós onde cada par de nós adjacentes na sequência possui uma aresta conectando-os. Um nó só pode aparecer na sequência no máximo uma vez. Observe que o caminho não precisa passar pela raiz.

A soma do caminho de um caminho é a soma dos valores do nó no caminho.

Dada a raiz de uma árvore binária, retorne a soma máxima do caminho de qualquer caminho não vazio.

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

Restrições
  • The number of nodes in the tree is in the range [1, 30000]
  • -1000 <= Node.val <= 1000

Exemplos

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?
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.