void mirrorBinaryTree(BinaryTreeNode<int>* root) {
// Write your code here
if(root==NULL) return;
swap(root->left,root->right);
if(root->left) mirrorBinaryTree(root->left);
if(root->right) mirrorBinaryTree(root->right);
}Problem of the day

For a given Binary Tree of type integer, update it with its corresponding mirror image.
Example:
The first and the only line of input will contain the node data, all separated by a single space. Since -1 is used as an indication whether the left or right node data exist for root, it will not be a part of the node data.
Output Format:
The only line of output prints the mirrored tree in a level-wise order.
Each level will be printed on a new line. Elements printed at each level will be separated by a single line.
Note:
You are not required to print anything explicitly. It has already been taken care of.
1 <= N <= 10^5
Where N is the total number of nodes in the binary tree.
Time Limit: 1 sec
1 2 3 4 5 6 7 -1 -1 -1 -1 -1 -1 -1 -1
1
3 2
7 6 5 4
5 10 6 2 3 -1 -1 -1 -1 -1 9 -1 -1
5
6 10
3 2
9
Interview problems
Mirror Binary tree
void mirrorBinaryTree(BinaryTreeNode<int>* root) {
// Write your code here
if(root==NULL) return;
swap(root->left,root->right);
if(root->left) mirrorBinaryTree(root->left);
if(root->right) mirrorBinaryTree(root->right);
}Interview problems
Java simple and easy recursive approach :
public static void mirrorBinaryTree(BinaryTreeNode<Integer> root){
if(root==null) return;
mirrorBinaryTree(root.left);
mirrorBinaryTree(root.right);
if(root.left!=null || root.right!=null){
BinaryTreeNode<Integer> temp = root.left;
root.left = root.right;
root.right = temp;
}
}
Interview problems
Python Solution
def mirrorBinaryTree(root) :
if root == None:
return
else:
temp = root
mirrorBinaryTree(root.left)
mirrorBinaryTree(root.right)
#swap the pointers
temp = root.left
root.left = root.right
root.right = temp
def inOrder(root):
if root == None:
return
inOrder(root.left)
print(root.data, end=" ")
inOrder(root.right)3 line code C++
void mirrorBinaryTree(BinaryTreeNode<int>* root) {
// Write your code here
if(root==NULL)return;
swap(root->left,root->right);
if(root->left)mirrorBinaryTree(root->left);
if(root->right)mirrorBinaryTree(root->right);
}
Interview problems
mirrorBinaryTree
public class Solution {
public static void mirrorBinaryTree(BinaryTreeNode<Integer> root){ //Your code goes here if(root==null){ return; } BinaryTreeNode<Integer> temp = root.left; root.left=root.right; root.right=temp; mirrorBinaryTree(root.left); mirrorBinaryTree(root.right); } }
Interview problems
Discussion thread on Interview Problem | Mirror Binary tree
Hey everyone, creating this thread to discuss the interview problem - Mirror Binary tree.
Practise this interview question on Coding Ninjas Studio (hyperlinked with the following link): Mirror Binary tree