码迷,mamicode.com
首页 > 其他好文 > 详细

求二叉树最大层数

时间:2015-08-11 23:03:33      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:

都能求最小了,就能求最大:

int maxDepth(TreeNode* root) {
    if (root == nullptr) {
        return 0;
    }
    
    constexpr int MIN_DEPTH    = 0;
    constexpr int initLayerNum = 1;
    
    function<int(TreeNode*&, int)> check;
    check = [&](TreeNode*& node, int num)
    {
        if (node == nullptr) {
            return MIN_DEPTH;
        }
        
        if (node->left == nullptr && node->right == nullptr){
            return num;
        }
        else{
            return max(check(node->left, num + 1), check(node->right, num + 1));
        }
    };
    
    return check(root, initLayerNum);
}

 

求二叉树最大层数

标签:

原文地址:http://www.cnblogs.com/wuOverflow/p/4722451.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!