判断是不是平衡二叉树_牛客题霸_牛客网 (nowcoder.com)
class Solution {
public:
int getHigh(TreeNode* root){
if(root == nullptr) return 0;
if(root->left == nullptr && root->right == nullptr) return 1;
return 1+max(getHigh(root->left),getHigh(root->right));
}
bool IsBalanced_Solution(TreeNode* pRoot) {
if(pRoot == nullptr) return true;
int leftHigh = getHigh(pRoot->left);
int rightHigh = getHigh(pRoot->right);
if(abs(leftHigh-rightHigh) > 1) return false;
return IsBalanced_Solution(pRoot->left)&&IsBalanced_Solution(pRoot->right);
}
};