题目描述
操作给定的二叉树,将其变换为源二叉树的镜像。
输入描述:
![](https://img2018.cnblogs.com/blog/1783506/201910/1783506-20191005093221514-1657135442.jpg)
解题思路
这一问题明显,在进行递归遍历节点时,将根节点的左右子树进行交换,因此完成树的遍历即可。
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; } } };