#include <bits/stdc++.h>
class Solution {
public:
int Helper(TreeNode *p, bool &flag){
if (!flag) return -1;
if (!p) return 0;
int left = Helper(p->left, flag);
int right = Helper(p->right, flag);
int dif = left-right;
if (abs(dif)>1){
flag = false;
return -1;
}
int len = max(left,right)+1;
return len;
}
bool IsBalanced_Solution(TreeNode* pRoot) {
bool flag = true;
int len = Helper(pRoot, flag);
return flag;
}
};