¿Está completo el árbol binario?

Se te pide determinar si el árbol binario dado está completo.
Un árbol binario está completo si todos los niveles del árbol están completamente llenos, excepto que los nodos del nivel más bajo se llenen desde la izquierda tanto como sea posible.
Ambos árboles que se muestran a continuación son árboles binarios completos.
notion image
notion image

Entrada

La entrada contiene enteros separados por espacios que representan los valores de los nodos del árbol binario. El orden de los valores se proporciona tal como se describió en la declaración anterior (al recorrer siempre primero el subárbol izquierdo y luego el derecho). Un valor de 0 significa que el nodo no existe. Se garantiza que el árbol binario de la entrada es válido.

Salida

El programa debe imprimir Yes si el árbol binario está completo, y No en caso contrario.

Ejemplos

Entrada
Salida
1 2 3 4 5 8 9 0 0 0 0 0 0 6 7 0 0 0 0
Yes
1 2 3 4 5 8 0 0 0 0 0 6 7 0 0 0 0
Yes
1 2 3 4 5 0 0 0 0 6 7 0 0 8 9 0 0 0 0
No
1 2 3 4 5 0 0 7 8 0 0 0 0 0 6 0 0
No

Explicación

  1. El Ejemplo 1 es un árbol binario completo porque el último nivel está lleno desde la izquierda.
    1. notion image
  1. El Ejemplo 2 es un árbol binario completo porque el último nivel está lleno desde la izquierda.
    1. notion image
  1. El Ejemplo 3 no es un árbol binario completo porque no se llena desde el extremo izquierdo.
    1. notion image
  1. El Ejemplo 4 no es un árbol binario completo porque no se llena desde el extremo izquierdo.
    1. notion image
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue