判断二叉树是否为平衡二叉树

判断二叉树是否为平衡二叉树

http://www.nowcoder.com/questionTerminal/f4523caf0205476985516212047ac8e7

后序遍历:

class Solution {
public:
    /**
     *
     * @param root TreeNode类
     * @return bool布尔型
     */
    bool isBalanced(TreeNode* root) {
        // write code here
        if (!root) return true;
        bool res = true;
        postOrder(root, res);
        return res;
    }

    int postOrder(TreeNode *root, bool &res) {
        if (!root || !res) return 0;
        if (!root->left && !root->right) return 1;
        int left = 1 + postOrder(root->left, res);
        int right = 1 + postOrder(root->right, res);
        int minus = left - right < 0 ? right - left : left - right;
        if (minus > 1) res = false;
        return left > right ? left : right;
    }
};
刷遍天下无敌手 文章被收录于专栏

秋招刷题历程

全部评论

相关推荐

07-09 12:12
门头沟学院 Java
5月底投简历7月初开奖收获秋招第一个offer,虽然白菜价,但至少能保底了
土木转行ing:土木博士想转图像,最后拿了 tp 提前批 sp 最低档,感觉性价比不高
TP-LINK开奖132人在聊
点赞 评论 收藏
分享
06-05 19:46
已编辑
武汉大学 后端
点赞 评论 收藏
分享
醉蟀:你不干有的是人干
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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