/**
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*
* C语言声明定义全局变量请加上static,防止重复定义
*
* C语言声明定义全局变量请加上static,防止重复定义
*/
/**
*
* @param pRoot TreeNode类
* @return bool布尔型
*/
int length(struct TreeNode* root){
if(root==NULL){
return 0;
}
return fmax(length(root->left),length(root->right))+1;
}
bool IsBalanced_Solution(struct TreeNode* pRoot ) {
// write code here
if(pRoot==NULL){
return true;
}
int left_l = length(pRoot->left);
int right_l = length(pRoot->right);
if(fabs(left_l - right_l) <= 1){
return IsBalanced_Solution(pRoot->left)&&(IsBalanced_Solution(pRoot->right));
}else{
return false;
}
return true;
}