/**
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
class Solution {
public:
/**
*
* @param root TreeNode类
* @return bool布尔型
*/
int getTreeHight(TreeNode* root)
{
if(!root)
{
return 0;
}
if (!root->left&&!root->right)
{
return 1;
}
return max(getTreeHight(root->left),getTreeHight(root->right))+1;
}
bool isBalanced(TreeNode* root) {
// write code here
int hight = 0;
if(root == nullptr)
{
return true;
}
if (!root->left&&!root->right)
{
return true;
}
return (abs(getTreeHight(root->left)-getTreeHight(root->right))>1?
false:true&&isBalanced(root->left)&&isBalanced(root->right));
}
};