题目描述:
题目来源
https://leetcode-cn.com/problems/er-cha-shu-de-jing-xiang-lcof/
利用先序遍历递归的两种方法
方法一:
void exchange(struct TreeNode *root)
{
struct TreeNode *T;
T=root->left;
root->left=root->right;
root->right=T;
}
struct TreeNode* mirrorTree(struct TreeNode* root){
if(root==NULL)
{
return;
}
exchange(root);
mirrorTree(root->left);
mirrorTree(root->right);
return root;
}
方法二:
构造一个新的二叉树:
struct TreeNode* mirrorTree(struct TreeNode* root){
if(root==NULL)
{
return;
}
struct TreeNode *temp=(struct TreeNode*)malloc(sizeof(struct TreeNode));
temp->val=root->val;
temp->left=mirrorTree(root->right);
temp->right=mirrorTree(root->left);
return temp;
}