Diámetro de un árbol binario

Tiempo límite 2 s
Memoria límite 256 MB
Casos de prueba 11
Dificultad Fácil Algoritmos
Mostrar (2) Árboles binariosDFS
Enviar solución

Puntos: 5

Tipos de problema
Lenguajes permitidos
C, C++, Java, Python, Rust

El diámetro de un árbol binario es la cantidad de aristas del camino más largo entre dos nodos cualesquiera. Ese camino no tiene por qué pasar por la raíz. Calcula el diámetro.

Entrada

El árbol viene en el formato de LeetCode, en dos líneas: la primera tiene un entero \(k\) y la segunda \(k\) elementos separados por espacios, que son el recorrido por niveles del árbol. Cada elemento es el valor de un nodo o null si ese hijo no existe; los hijos de un null no se escriben y los null del final se omiten. Un árbol vacío se escribe con \(k = 0\) y una línea vacía.

El árbol tiene entre \(1\) y \(2 \cdot 10^4\) nodos y altura a lo más \(1000\); \(|v| \le 100\).

Salida

El diámetro del árbol.

Ejemplo 1

Entrada

5
1 2 3 4 5

Salida

3

Ejemplo 2

Entrada

2
1 2

Salida

1

Basado en el problema 543 de LeetCode, Diameter of Binary Tree, adaptado a entrada y salida estándar; enunciado redactado para este juez. Es parte de la lista Grind 75 de Yangshun Tay.


Comentarios

No hay comentarios por el momento.