Home Trees Given a binary tree, construct its mirror tree.

Given a binary tree, construct its mirror tree.

by nikoo28
0 comment 2 minutes read

Question: Given a binary tree, find its mirror tree.

Input: A tree pointer is given. (Root pointer)
Output: Pointer of mirrored tree.

We can easily get the mirrored tree by a simple recursive algorithm. We traverse the tree and swap the left and right pointers.

#include<stdio.h>
#include<malloc.h>

struct binaryTreeNode{
	int data;
	struct binaryTreeNode * left;
	struct binaryTreeNode * right;
};

struct binaryTreeNode * mirrorOfBinaryTree(struct binaryTreeNode * root)
{
	struct binaryTreeNode * temp;
	
	if(root)
	{
		mirrorOfBinaryTree(root -> left);
		mirrorOfBinaryTree(root -> right);
		
		// Swap the pointers in this node
		temp = root -> left;
		root -> left = root -> right;
		root -> right = temp;
	}
	
	return root;
}

Time Complexity:- O(n)
Space Complexity:- O(n) (due to recursive stack)

You may also like

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More