c++
class Solution {
public:
int getHeight(TreeNode *root) {
if (!root) return 0;
int l = getHeight(root->left);
int r = getHeight(root->right);
if (l < 0 || r < 0) return -1;
if (abs(l - r) > 1) return -1;
return max(l, r) + 1;
}
bool isBalanced(TreeNode* root) {
return getHeight(root) >= 0;
}
};
js
var getHeight = function(root) {
if (!root) return 0;
var l = getHeight(root.left);
var r = getHeight(root.right);
if (l < 0 || r < 0) return -1;
if (Math.abs(l - r) > 1) return -1;
return Math.max(l, r) + 1;
}
var isBalanced = function(root) {
return getHeight(root) >= 0;
};