您的位置:首页 > 其它

二叉树的镜像

2017-06-20 20:19 218 查看
题目:操作给定的二叉树,将其变换为源二叉树的镜像

思路:1 分析左右子节点。

            2 在分别转换左,右子节点

class Solution {

public:

    void Mirror(TreeNode *pRoot) {

        //2017-6-20 周二  什么没做。

        //若根节点只有左子节点或者只有右节点

        //若根节点点左右子节点都没有

        //若根节点有左右节点。

        //麻蛋理解错了。

        if(pRoot==NULL) return ;

        //1 这里除了问题

       if(pRoot->left==NULL&&pRoot->right==NULL)   return ;

        //为什么,

        //忽略单个情况下的换算?

      //  if(pRoot->left!=NULL&&pRoot->right!=NULL)  

        //    {

               TreeNode * pTmp=pRoot->left;

                pRoot->left=pRoot->right;

               pRoot->right=pTmp;

      //  }

        //处理左右节点。

        if(pRoot->left!=NULL)

            Mirror(pRoot->left);

        if(pRoot->right!=NULL)

            Mirror(pRoot->right);

    }

};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: