题解 | #平衡二叉树#

平衡二叉树

http://www.nowcoder.com/practice/8b3b95850edb4115918ecebdf1b4d222

  1. 结合求二叉树深度的思路继续做。关键注意中间的判断就可以。
  2. 习惯把那种结果设置成全局变量最后在递归里改就好。
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;//返回要加自己。
    }
};
算法解析 文章被收录于专栏

这里主要是算法岗的自我思路总结

全部评论

相关推荐

09-25 10:34
东北大学 Java
多面手的小八想要自然醒:所以读这么多年到头来成为时代车轮底下的一粒尘
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务