<剑指Offer>面试题27: 二叉树的镜像

题目描述 牛客网

  • 请完成一个函数,输入一颗二叉树,该函数输出它的镜像
    <剑指Offer>面试题27: 二叉树的镜像_第1张图片

题目解读

  • 剑指Offer 157

代码

  • 第一轮代码
class Solution {
public:
    void Mirror(TreeNode *pRoot) {
        if(pRoot != NULL){
            TreeNode *temp = NULL;
            temp = pRoot -> left;
            pRoot -> left = pRoot -> right;
            pRoot -> right = temp;

            if(pRoot -> left){
                Mirror(pRoot -> left);
            }

            if(pRoot -> right){
                Mirror(pRoot -> right);
            }
        }
    }
};
<剑指Offer>面试题27: 二叉树的镜像_第2张图片
  • 第二轮代码
class Solution {
public:
    void Mirror(TreeNode *pRoot) {
        if(pRoot == NULL){
            // 如果此节点为空,则什么也不做
        }
        else{
            TreeNode* temp = pRoot->left;
            pRoot->left = pRoot->right;
            pRoot->right = temp;
            Mirror(pRoot->left);
            Mirror(pRoot->right);
        }
    }
};
<剑指Offer>面试题27: 二叉树的镜像_第3张图片

总结展望

  • 发觉关于二叉树的题目用递归实现较好.

你可能感兴趣的:(<剑指Offer>面试题27: 二叉树的镜像)