剑指offer 19:二叉树的镜像

题目描述

操作给定的二叉树,将其变换为源二叉树的镜像。
 
输入描述:
 

解题思路

这一问题明显,在进行递归遍历节点时,将根节点的左右子树进行交换,因此完成树的遍历即可。
 
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 * tmpp=pRoot, *pleft=pRoot->left,*pright=pRoot->right,*tmp=NULL;
        while(tmpp!=NULL){
            Mirror(tmpp->left);
            Mirror(tmpp->right);
            tmp=pleft;
            pRoot->left=pright;
            pRoot->right=tmp;
            return;
        }
    }
};
原文地址:https://www.cnblogs.com/fancy-li/p/11623971.html