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 symmetric?

    A binary tree is symmetric if the right subtree of the root node is the mirror reflection of its left subtree.
    Given a binary tree, you are asked to check if it’s symmetric.
    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 Yes if the given binary tree is symmetric, and No otherwise.

    Examples

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

    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