• 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

Max Sum in circularly situated Values

There are N nuts and N bolts, u have to find all the pairs of nuts and bolts in minimum no. of iteration

In Given LinkedList Divide LL in N Sub parts and delete first K nodes of each part

Find shortest distances between every pair of vertices ( Dynamic Programming Floyd Warshall Algorithm)

Difference between a LinkedList and a Binary Search Tree BST

Find the element that appears once others appears thrice

Calculate price of parking from parking start end time prices

Leetcode: Edit Distance

Generate next palindrome number

SAP Off Campus Hiring_ March 2015 Analytical Aptitude

Find Nearest Minimum number in left side in O(n)

Best Java Book | Top Java Programming Book for Beginners

Python Array String

VMWare SDEII Interview

Count Possible Decodings of a given Digit Sequence

Check if an array has duplicate numbers in O(n) time and O(1) space

Doubly linked list

Edit Distance ( Dynamic Programming )

Introduction To Number Theory ( Part 1 )

Daughter’s Age VeryGood Puzzle

Length of the longest substring without repeating characters

Hackerearth : Counting Subarrays

Microsoft BING Interview Experience

Print Power Set of a Set

Skiing on Mountains Matrix

Add Sub Multiply very large number stored as string

DFS (Depth First Search)

HackeEarth Flipkart’s Drone

Search element in a matrix with all rows and columns in sorted order

System Design: Designing a LLD for Hotel Booking

Copyright © 2026 · Genesis Framework · WordPress · Log in