题解 | #二叉树的镜像#
二叉树的镜像
https://www.nowcoder.com/practice/a9d0ecbacef9410ca97463e4a5c83be7
/**
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param pRoot TreeNode类
* @return TreeNode类
*/
//方法:递归。递归结束条件是深度为0
//镜像就是把左子树和右子树对换
//也就是,不断地深入递归,即自上往下地将左右子树镜像
struct TreeNode* Mirror(struct TreeNode* pRoot )
{
// write code here
if(pRoot == NULL)
{
return NULL;
}
//镜像就是把左子树和右子树对换
struct TreeNode *temp,*pR = pRoot; //注意只有pR被赋值了
// struct TreeNode *temp;
temp = pR->left;
pR->left = pR->right;
pR->right = temp;
//也就是,不断地深入递归,即自上往下地将左右子树镜像
Mirror(pR->left );
Mirror(pR->right );
return pRoot;
}

查看8道真题和解析