public boolean isBalanced(TreeNode root) {
        if(root == null) 
            return true;
        if(Math.abs(this.height(root.left) - this.height(root.right))<=1) 
            return isBalanced(root.left) && isBalanced(root.right);    
        return false;
    }