判断二叉树是否平衡
2016-09-21 20:42
211 查看
// 1 // 2 3 // 4 5 // // class Solution { public: int maxDepth(TreeNode* root){ if(root==NULL) return 0; return 1+max(maxDepth(root->left),maxDepth(root->right)); } bool danbian(TreeNode *root) { if(root==NULL) return 1; if(root->left!=NULL && root->right!=NULL) return 0; if(root->left==NULL) ;//danbian(root->right); if(root->right==NULL) ;//danbian(root->left); return 1; } int minDepth(TreeNode* root){ if(root==NULL) return 0; if(root->left == NULL) return minDepth(root->right) + 1; if(root->right == NULL) return minDepth(root->left) + 1; int leftDepth = minDepth(root->left); int rightDepth = minDepth(root->right); return leftDepth < rightDepth ? (leftDepth + 1) : (rightDepth + 1); } bool IsBalanced_Solution(TreeNode* pRoot) { int max=maxDepth(pRoot); int min=minDepth(pRoot); if(danbian(pRoot)) min=1; if(max-min>1) return 0; return 1; } };
相关文章推荐
- LeetCode基础--二叉树-判断二叉树是否平衡
- 判断二叉树是否平衡
- 判断二叉树是否平衡
- 判断二叉树是否平衡、是否完全二叉树、是否二叉排序树
- 判断二叉树是否平衡
- 判断一颗二叉树是否平衡
- 判断二叉树是否平衡以及二叉树的路径和
- 判断二叉树是否平衡
- 剑指offer解题报告(Java版)——二叉树的深度 判断二叉树是否平衡 38
- 每日一题——判断二叉树是否平衡,求一棵二叉树的镜像
- 【遍历二叉树】10判断二叉树是否平衡【Balanced Binary Tree】
- 判断二叉树是否平衡
- 判断是否是子树 和 判断二叉树是否平衡
- 判断二叉树是否平衡 java
- 判断二叉树是否平衡java
- 【LeetCode101-110】二叉树对称及存储,前序中序遍历生成二叉树,中序后序生成二叉树,数组转化为AVL平衡树,判断二叉树是否平衡
- 判断一棵二叉树是否平衡
- 【剑指offer】判断二叉树是否平衡(左右子树高度差最多为1)
- 判断二叉树是否平衡
- 二叉树:判断是否平衡