判断一棵二叉树是否是平衡二叉树/求一颗二叉树的镜像
2017-09-19 16:33
435 查看
判断一棵二叉树是否是平衡二叉树
判断每个节点的做右子树高度差,递归法求一颗二叉树的镜像
交换左右孩子节点template<class T> struct TreeNode { TreeNode* _Lchild; TreeNode* _Rchild; T data; }; size_t Hight(TreeNode* pRoot) { if (pRoot==NULL) { return 0; } size_t lhight=Hight(pRoot->_Lchild)+1; size_t rhight=Hight(pRoot->_Rchild)+1; return lhight>rhight ? lhight:rhight; } bool IsBanlence(TreeNode* pRoot) { if (pRoot==NULL) { return true; } int Lhight=Hight(pRoot->_Lchild); int Rhight=Hight(pRoot->_Rchild); int hight=Lhight-Rhight; if (hight>=-1 && hight<=1) { return IsBanlence(pRoot->_Lchild)&& IsBanlence(pRoot->_Rchild); } else return false; } void Mirror(TreeNode* pRoot)//镜像 { if (pRoot==NULL) { return ; } if (pRoot->_Lchild==NULL && pRoot->_Rchild==NULL) { return ; } swap(pRoot->_Rchild,pRoot->_Lchild); Mirror(pRoot->_Rchild); Mirror(pRoot->_Lchild); }
相关文章推荐
- 判断一棵二叉树是否是平衡二叉树/求一颗二叉树的镜像
- 判断一棵二叉树是否是平衡二叉树并求一颗二叉树的镜像——题集十
- 每日一题之判断一棵二叉树是否是平衡二叉树以及求一颗二叉树的镜像
- -判断一棵二叉树是否是平衡二叉树/求一颗二叉树的镜像
- 判断一棵二叉树是否是平衡二叉树/求一颗二叉树的镜像
- day12之判断一棵二叉树是否是平衡二叉树+求一颗二叉树的镜像+判断一个数在二维数组中是否存在
- 二叉树--判断一棵二叉树是否是平衡二叉树&&求一颗二叉树的镜像
- 【二叉树】判断一棵二叉树是否是平衡二叉树/求一棵二叉树的镜像/对称的二叉树
- 每日一题——判断二叉树是否平衡,求一棵二叉树的镜像
- 后序遍历求解判断一颗二叉树是否为平衡二叉树
- 输入一棵二叉树,判断该二叉树是否是平衡二叉树。
- 如何只遍历一次判断一棵二叉树是否为平衡二叉树
- java 判断一棵二叉树是否为平衡二叉树
- 编程实现判断一棵二叉树是否是平衡二叉树
- 如何判断一棵二叉树是否是平衡二叉树<转载>
- Leetcode 110 判断一颗二叉树是否是平衡二叉树
- 输入一棵二叉树,判断该二叉树是否是平衡二叉树
- 判断一个节点是否在一棵二叉树中&&判断一颗二叉树是是否是另一颗树的子树
- 输入一棵二叉树,判断该二叉树是否是平衡二叉树。
- 输入一棵二叉树,判断该二叉树是否是平衡二叉树。