二叉树的镜像

来源:互联网 发布:linux expect的用法 编辑:程序博客网 时间:2024/06/10 13:07

题目描述:

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

二叉树的镜像定义:源二叉树 
         8
        /  \
      6   10
    / \    / \
    5  7 9 11
镜像二叉树:
         8
        /  \
     10   6
     / \    / \
   11 9 7  5

解题思路:

这道题没有返回值,所以修改对象是原二叉树,可以先定义一个树节点,将原二叉树中当前节点的左节点保存,然后交换左右节点,再递归左右子树即可。

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) {        TreeNode *pTemp=NULL;        if(pRoot!=NULL)        {            pTemp=pRoot->left;            pRoot->left=pRoot->right;            pRoot->right=pTemp;            Mirror(pRoot->left);            Mirror(pRoot->right);        }    }};


原创粉丝点击