题目描述
操作给定的二叉树,将其变换为源二叉树的镜像。
输入描述:
二叉树的镜像定义:源二叉树
8
/ \
6 10
/ \ / \
5 7 9 11
镜像二叉树
8
/ \
10 6
/ \ / \
11 9 7 5分析:
dfs遍历交换其左右子树即可
/*
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
TreeNode(int x) :
val(x), left(NULL), right(NULL) {
}
};*/
class Solution
{
public:
void dfs(TreeNode *root)
{
//交换左右子树
TreeNode *temp;
temp=root->left;
root->left=root->right;
root->right=temp;
//继续对其左右子树进行交换操作
if(root->left!=NULL)
dfs(root->left);
if(root->right!=NULL)
dfs(root->right);
return ;
}
void Mirror(TreeNode *root)
{
if(root!=NULL)
dfs(root);
}
};
来源:https://www.cnblogs.com/yinbiao/p/11570808.html