[剑指offer]镜像二叉树

来源:互联网 发布:软件开发部职责 编辑:程序博客网 时间:2024/06/02 01:25

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

二叉树的镜像定义:源二叉树:                        8                       /  \                      6   10                     / \  / \                    5  7 9 11              镜像二叉树:                        8                       /  \                      10   6                     / \  / \                    11 9 7  5
/*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 *temp;        TreeNode *left=pRoot->left;        TreeNode *right=pRoot->right;        //swap from leaf node        if(left!=NULL || right!=NULL)        {            temp = pRoot->left;            pRoot->left=pRoot->right;            pRoot->right=temp;            Mirror(left);            Mirror(right);        }    }};
原创粉丝点击