二叉树的镜像
2017-06-20 20:19
218 查看
题目:操作给定的二叉树,将其变换为源二叉树的镜像
思路:1 分析左右子节点。
2 在分别转换左,右子节点
class Solution {
public:
void Mirror(TreeNode *pRoot) {
//2017-6-20 周二 什么没做。
//若根节点只有左子节点或者只有右节点
//若根节点点左右子节点都没有
//若根节点有左右节点。
//麻蛋理解错了。
if(pRoot==NULL) return ;
//1 这里除了问题
if(pRoot->left==NULL&&pRoot->right==NULL) return ;
//为什么,
//忽略单个情况下的换算?
// if(pRoot->left!=NULL&&pRoot->right!=NULL)
// {
TreeNode * pTmp=pRoot->left;
pRoot->left=pRoot->right;
pRoot->right=pTmp;
// }
//处理左右节点。
if(pRoot->left!=NULL)
Mirror(pRoot->left);
if(pRoot->right!=NULL)
Mirror(pRoot->right);
}
};
思路:1 分析左右子节点。
2 在分别转换左,右子节点
class Solution {
public:
void Mirror(TreeNode *pRoot) {
//2017-6-20 周二 什么没做。
//若根节点只有左子节点或者只有右节点
//若根节点点左右子节点都没有
//若根节点有左右节点。
//麻蛋理解错了。
if(pRoot==NULL) return ;
//1 这里除了问题
if(pRoot->left==NULL&&pRoot->right==NULL) return ;
//为什么,
//忽略单个情况下的换算?
// if(pRoot->left!=NULL&&pRoot->right!=NULL)
// {
TreeNode * pTmp=pRoot->left;
pRoot->left=pRoot->right;
pRoot->right=pTmp;
// }
//处理左右节点。
if(pRoot->left!=NULL)
Mirror(pRoot->left);
if(pRoot->right!=NULL)
Mirror(pRoot->right);
}
};
相关文章推荐
- 反转二叉树(二叉树的镜像)
- 求二叉树的镜像
- (树)判断一颗二叉树是否为镜像对称
- 面试题23:二叉树的镜像
- 【剑指offer】第二十六题(树的子结构) 和 第二十七题(二叉树的镜像)
- 剑指offer-操作给定的二叉树,将其变换为源二叉树的镜像
- 二叉树的镜像-jobdu-1521
- 27、二叉树的镜像
- 二叉树问题(打印二叉树,二叉树子结构、镜像、遍历,二叉树满足的路径)
- 面试题19:二叉树的镜像(Leetcode-101)
- C语言强化(十一)二叉树镜像变化 | 要求:不使用递归
- 面试题19:二叉树的镜像
- 二叉树的镜像
- 数据结构-二叉树的镜像
- 二叉树的镜像
- 微软100题(15)镜像二叉树
- 二叉树的镜像
- 剑指offer 19 - 二叉树的镜像
- 二叉树的镜像
- 剑指offer面试题19:二叉树的镜像