- 结合求二叉树深度的思路继续做。关键注意中间的判断就可以。
- 习惯把那种结果设置成全局变量最后在递归里改就好。
class Solution {
public:
bool res = true;
bool IsBalanced_Solution(TreeNode* pRoot) {
if (!pRoot) return true;
dfs(pRoot);
return res;
}
int dfs(TreeNode* pRoot){
if(!pRoot) return 0;
int l = dfs(pRoot->left);
int r = dfs(pRoot->right);
if(abs(l-r)>1){
res = false;
}
return max(l,r) +1;//返回要加自己。
}
};
京公网安备 11010502036488号