Question: Given a binary tree, write a program to mirror the tree (i.e. swap left and right nodes of the original tree).
Time Complexity: O(n)
tree *
tree_mirror(tree *t)
{
tree *tmp = NULL;
if (!t) {
return NULL;
}
tmp = (tree *) malloc (sizeof(tree));
if (!tmp) {
exit(ENOMEM);
}
tmp->data = t->data;
tmp->right = tree_mirror(t->left);
tmp->left = tree_mirror(t->right);
return (tmp);
}
No comments:
Post a Comment