方法有二:
其一:先序遍历,第一次经过结点时交换左右孩子
void Mirror(TreeNode *pRoot) { if(!pRoot) return; swap(pRoot->left,pRoot->right); Mirror(pRoot->left); Mirror(pRoot->right); }
其二:后序遍历,最后一次经过结点时交换左右孩子
void Mirror(TreeNode *pRoot) { if(!pRoot) return; Mirror(pRoot->left); Mirror(pRoot->right); swap(pRoot->left,pRoot->right); }