题解 | #二叉树的镜像#

二叉树的镜像

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;

}

全部评论

相关推荐

Cassifa:发的字比你都多的一律视为骗子或者想白嫖压榨实习生的
点赞 评论 收藏
分享
01-07 15:50
四川大学 Java
看日出看日落:好好背八股,做算法。我身边跟你bg差不多的基本都大厂暑期
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务