题目:求一棵二叉树的镜像
分析:后序遍历为基础,从最下面交换左右孩子
//输入一个二叉树,输出它的镜像
//通过后序遍历 交换left 和 right的指针
void Mirror(BinaryTreeNode *pRoot)
{
if (pRoot==NULL) {
return ;
}
Mirror(pRoot->left);
Mirror(pRoot->right);
//交换指针
BinaryTreeNode *temp=pRoot->left;
pRoot->left=pRoot->right;
pRoot->right=temp;
}
打印二叉树代码
void printfTree(BinaryTreeNode* pRoot)
{
if (pRoot==NULL) {
return ;
}
printf("%d ",pRoot->key);
printfTree(pRoot->left);
printfTree(pRoot->right);
}