方法有二:
其一:先序遍历,第一次经过结点时交换左右孩子
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);
}

京公网安备 11010502036488号