改造求树的深度:再遍历每个节点时,求左右子树的深度,如果每个左右子树的深度相差不超过1,就是平衡二叉树
class Solution {
public:
bool ans = true;
bool isBalanced(TreeNode* root) {
dfs(root);
return ans;
}
int dfs(TreeNode* root) {
if (!root) return 0;
int left = dfs(root->left);
int right = dfs(root->right);
if (abs(left - right) > 1) ans = false;
return max(left, right) + 1;
}
};