操作给定的二叉树,将其变换为源二叉树的镜像。
并不是太懂,不清楚为什么左右再来。不会循环不出来吗?
/*
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;
}
swap(pRoot);
Mirror(pRoot->left);//不理解
Mirror(pRoot->right);//不理解
}
private:
void swap(TreeNode *root)
{
TreeNode *node=new TreeNode(NULL);
node=root->left;
root->left=root->right;
root->right=node;
}
};