Algorithms and Data Structures

  • Profound Academy

    • Status
      • 1
        Implementation
      • 2
        Bitwise operations
      • 3
        Prefix Sums
      • 4
        Sliding window / Two pointers
      • 5
        Modular Arithmetic
      • 6
        Number Theory
      • 7
        Binary Search
      • 8
        Basic Sorting
      • 9
        Greedy Algorithms
      • 10
        Basic Dynamic Programming
      • 11
        Recursion
      • 12
        Linked LIst
      • 13
        Queue & Stack
      • 14
        Binary tree + BST
      • 15
        Divide & Conquer + Advanced Sorting
      • 16
        Heap
      • 17
        Hashing
      • 18
        Graph Representation
      • 19
        BFS

  • Is the binary tree full?

    Is the given binary tree full? A full binary tree is a special type of binary tree in which every node has either two or no children. It is also known as a proper binary tree.
     
    notion image

    Input

    The input contains space-separated integers representing the values in the nodes of the binary tree. The order of the values is given as described in the previous statement (by traversing from the left to the right subtree every time). A value of 0 means that the node does not exist. It’s guaranteed that the input binary tree is valid.

    Output

    The program should print Yes in case the binary tree is full, and No otherwise.

    Examples

    Input
    Output
    1 2 3 4 5 0 0 0 0 6 7 0 0 8 9 0 0 0 0
    Yes
    1 2 3 4 5 0 0 7 8 0 0 0 0 0 6 0 0
    No

    Explanation

    1. In the first example, the binary tree is full as all the nodes have either 0 or 2 children.
      1. notion image
    1. In the second example, the binary tree is not full as the node with value 3 has only 1 child.
      1. notion image

    Constraints

    Time limit: 1 seconds

    Memory limit: 512 MB

    Output limit: 1 MB

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