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

  • Mirror the binary tree

    Given a binary tree, you are asked to mirror it. “Reading” it from left to right should turn into “reading” it from right to left.
    Mirroring the binary tree in the image won’t change anything, for instance. Do you know why 🤔?
    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 pre-order traversal of the mirrored binary tree.

    Examples

    Input
    Output
    1 2 3 8 5 0 0 0 0 5 8 0 0 0 0
    1 3 8 5 2 5 8
    1 2 3 4 5 0 0 7 8 0 0 0 0 0 6 0 0
    1 3 6 2 5 8 7 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