操作给定的二叉树,将其变换为源二叉树的镜像。
这道题真是让我感到很兴奋啊,至少感觉很有意思。我需要先翻译一下镜像:就是对于这棵二叉树的所有节点,该节点的左子树和右子树进行位置互换。
是不是很有意思?哈,我只说了很有意思,没说很难,毕竟我是乡巴佬进城,从来没见过这种题。但是,直觉告诉我,这就是一个递归的事儿。
废话不多说,上代码:
void Mirror(TreeNode *pRoot)
{
if(pRoot == NULL || (pRoot->left == NULL && pRoot->right == NULL)) return ;
TreeNode *temp = pRoot->left;
pRoot->left = pRoot->right;
pRoot->right = temp;
Mirror(pRoot->left);
Mirror(pRoot->right);
}