void swap (Node** l, Node** r)
{
Node *t;
*t = *l;
*l = *r;
*r = *t;
}
void mirro_tree(BTNode *root)
{
if(root == NULL)
return ;
swap( &(root->left), &(root->right));
if(root->left)
mirro_tree(root->left);
if(root->right)
mirro_tree(root->right);
}
void mirro_tree(BTNode *root)
{
if(root == NULL)
return;
stack<Node*> s_node;
s_node.push(root);
while(!s_node.empty())
{
Node *pNode = s_node.pop();
swap( &(pNode->left), &(pNode->right) );
if(pNode->left)
s_node.push(pNode->left);
if(root->right)
s_node.push(pNode->right);
}