题解 | #平衡二叉树#

平衡二叉树

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;//返回要加自己。
    }
};
算法解析 文章被收录于专栏

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

全部评论

相关推荐

05-30 12:03
山西大学 C++
offer来了我跪着...:不是骗子,等到测评那一步就知道为啥这么高工资了
点赞 评论 收藏
分享
昨天 13:37
重庆大学 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务