• Skip to primary navigation
  • Skip to content
  • Skip to primary sidebar
  • Skip to secondary sidebar

GoHired

Interview Questions asked in Google, Microsoft, Amazon

Join WeekEnd Online Batch from 4-April-2020 on How to Crack Coding Interview in Just 10 Weeks : Fees just 20,000 INR

  • Home
  • Best Java Books
  • Algorithm
  • Internship
  • Certificates
  • About Us
  • Contact Us
  • Privacy Policy
  • Array
  • Stack
  • Queue
  • LinkedList
  • DP
  • Strings
  • Tree
  • Mathametical
  • Puzzles
  • Graph

Mirror of Tree

February 10, 2015 by Dhaval Dave

Write a code to construct a Mirror of Binary Tree as below.

Solution 1 ) Create a New Tree and store nodes in the way we want (mirrored way)

Algo :

struct node{
    int value;
    struct node* left;
    struct node* right;
};
struct node *mirrorTree(struct node *root){
  struct node *temp;
  if(root==NULL)
    return(NULL);
  temp = (struct node *) malloc(sizeof(struct node));
  temp->value = root->value;
  temp->left  = mirrorTree(root->right);
  temp->right = mirrorTree(root->left);
  return(temp);
}
Solution 2 ) In place change ( Use Recursion )

 

void mirror(struct node* node) 
{
  if (node==NULL) 
    return;  
  else
  {
    struct node* temp;

    mirror(node->left);
    mirror(node->right);
 
    /* swap the pointers */
      temp        = node->left;
      node->left  = node->right;
      node->right = temp;
  }
}
See working Code at : http://ideone.com/uDrfeu
See Video : 

Similar Articles

Filed Under: Amazon Interview Question, Interview Questions, problem Tagged With: Binary Tree, tree

Reader Interactions

Primary Sidebar

Join WeekEnd Online/Offline Batch from 4-April-2020 on How to Crack Coding Interview in Just 10 Weeks : Fees just 20,000 INR

Join WeekEnd Online/Offline Batch from 4-April-2020

WhatsApp us

Secondary Sidebar

Custom Search

  • How I cracked AMAZON
  • LeetCode
  • Adobe
  • Amazon
  • Facebook
  • Microsoft
  • Hacker Earth
  • CSE Interview

Top Rated Questions

Reverse a Linked List in groups of given size

Fibonacci Hashing & Fastest Hashtable

Level order traversal in Spiral form

Maximum difference between two elements s.t larger element appears after the smaller number

Given array of 0’s and 1’s. All 0’s are coming first followed by 1’s. find the position of first 1

Advanced SQL Injection

Interfaces in C++ (Abstract Classes in C++)

Leetcode: Merge Intervals

How strtok() Works

Common Ancestor in a Binary Tree or Binary Search Tree

CodeChef Code SGARDEN

Binary Tree in Java

Find Percentage of Words matching in Two Strings

Get Minimum element in O(1) from input numbers or Stack

Amazon Interview Experience – SDE Chennai

Python Array String

Connect n ropes with minimum cost

Find the smallest window in a string containing all characters of another string

Printing each word reverse in string

Code Chef PRGIFT Solution

Reliance Jio Software Developer Interview Experience

K’th Largest Element in BST when modification to BST is not allowed

Closed Parentheses checker

Spanning Tree

Naurki.com Security Breach

Find two non repeating elements in an array of repeating elements

LeetCode : Word Search

simple sql injection

Reversal of LinkedList

Coin Collection Dynamic Programming

Copyright © 2025 · Genesis Framework · WordPress · Log in