请完成一个函数,输入一个二叉树,该函数输出它的镜像。
方法1:递归遍历
/**
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
* };
*/
TreeNode* Mirror(TreeNode* pRoot)
{
TreeNode* temp;
if(pRoot==NULL)
{
return pRoot;
}
temp=pRoot->left;
pRoot->left=pRoot->right;
pRoot->right=temp;
Mirror(pRoot->left);
Mirror(pRoot->right);
return pRoot;
}
//方法2:利用栈(或队列)遍历