题目描述
输入一棵二叉树,判断该二叉树是否是平衡二叉树。
int is_avl(TreeNode* root,int* hight)
{
int flag1,flag2;
if(root == NULL) return 1;
flag1 = is_avl(root->left,hight);
flag2 = is_avl(root->right,hight);
if(abs(flag1-flag2) > *hight)
*hight = abs(flag1-flag2);
return flag1>flag2?flag1+1:flag2+1;
}
bool IsBalanced_Solution(TreeNode* pRoot) {
int hight = 0;
is_avl(pRoot,&hight);
if(hight > 1) return false;
return true;
}