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

  • Find the height of the binary tree

    Given a binary tree, you are asked to find its height. The height of a binary tree is the height of its root - which is the maximum number of levels of nodes beneath the root node.
    In the case on the right:
    • Nodes with values 4, 6, 7, and 8 have a height of 1
    • Nodes with values 3, and 5 have a height of 2
    • Node with value 2 has a height of 3
    • The root node with value 1 has a height of 4.
    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 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 the height of the binary tree.

    Examples

    Input
    Output
    1 2 3 8 5 0 0 0 0 5 8 0 0 0 0
    3
    1 2 3 4 5 0 0 7 8 0 0 0 0 0 6 0 0
    4

    Explanation

    Example 1:
    notion image
    Example 2:
    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