class Solution {
public:
    bool IsBalanced_Solution(TreeNode* rt) {
        if(rt==NULL) return true;
        int depl=dep(rt->left);
        int depr=dep(rt->right);
        if(abs(depl-depr)>1) return false; 
        return IsBalanced_Solution(rt->left)&&IsBalanced_Solution(rt->right);
    }

    int dep(TreeNode* rt){
        if(rt==NULL) return 0;
        return 1+max(dep(rt->left),dep(rt->right));
    }
};