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.
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
El Ejemplo 1 es un árbol binario completo porque el último nivel está lleno desde la izquierda.
El Ejemplo 2 es un árbol binario completo porque el último nivel está lleno desde la izquierda.
El Ejemplo 3 no es un árbol binario completo porque no se llena desde el extremo izquierdo.
El Ejemplo 4 no es un árbol binario completo porque no se llena desde el extremo izquierdo.