题解 | #平衡二叉树#
平衡二叉树
http://www.nowcoder.com/practice/8b3b95850edb4115918ecebdf1b4d222
- 结合求二叉树深度的思路继续做。关键注意中间的判断就可以。
- 习惯把那种结果设置成全局变量最后在递归里改就好。
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;//返回要加自己。
}
};算法解析 文章被收录于专栏
这里主要是算法岗的自我思路总结
查看19道真题和解析