一.题目描述
操作给定的二叉树,将其变换为源二叉树的镜像。

二.代码(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)
return;
if(!pRoot->left && !pRoot->right)
return;
swap(pRoot);
Mirror(pRoot->left);
Mirror(pRoot->right);
}
void swap(TreeNode *pRoot)
{
TreeNode *tmp = pRoot->left;
pRoot->left = pRoot->right;
pRoot->right = tmp;
}
};
三.提交记录

四.备注
递归即可。也可以设定一个队列用于保存还未处理的节点,写一个循环进行迭代。

本文详细解析了如何通过递归或迭代方式将给定二叉树转换为其镜像,提供C++代码实现,并附带代码解释及提交记录。
6万+

被折叠的 条评论
为什么被折叠?



