即在转化后的二元查找树中,左子树的结点都大于右子树的结点
迭代算法可以用栈来实现,可以把结点的左右子树的根都压入栈。
印象中关于树的很多题目的非递归实现均可以用stack来实现
定义一个swap函数交换树的左右子节点
void swap(Node *l,Node *r){
Node *temp=l;
l=r;
r=temp;
}
void mirror(Node *root){
if(root==NULL)return;
stack<Node*> s;
s.push(root);
while(!s.empty()){
Node *t=s.pop();
swap(t->left,t->right);
if(t->left!=NULL)s.push(t->left);
if(t->right!=NULL)s.push(t->right);
}
}