题目描述

操作给定的二叉树,将其变换为源二叉树的镜像。

输入描述:

剑指offer-二叉树的镜像

思路:

交换左右孩子,然后对左右孩子进行镜像变换
剑指offer-二叉树的镜像

c++实现

/*
struct TreeNode {
    int val;
    struct TreeNode *left;
    struct TreeNode *right;
    TreeNode(int x) :
            val(x), left(NULL), right(NULL) {
    }
};*/
class Solution {
public:
    void Mirror(TreeNode *pRoot) {
        if (pRoot == NULL)
            return;
        TreeNode *p_temp;
        //交换左右孩子指针
        p_temp = pRoot->left;
        pRoot->left = pRoot->right;
        pRoot->right = p_temp;
        //递归 对左右孩子变换镜像
        Mirror(pRoot->left);
        Mirror(pRoot->right);
    }
};

相关文章: