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

求二叉树的最大深度

时间:2020-06-26 23:54:20      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:div   com   geek   mic   leetcode   表示   使用   pre   roo   

1 解题思路

1 使用深度优先遍历

2 设置两个变量:一个变量是当前的深度;另一个变量是最大深度

3 每进入下一层,当前深度+1;每返回上一层,当前深度-1。

4 当一个节点的左右节点都为空的话,比较一下当前深度与最大深度,更新最大深度

如下图所示,红色数字表示的是当前节点二叉树的深度。

技术图片

2 代码

void maxDepth1(TreeNode* root)
    {        
        if(root != nullptr)
        {
            if(root -> left == nullptr && root -> right == nullptr)//左右子树都为空的话就进行比较
            {
                if(max_depth < current_depth)
                    max_depth = current_depth;
            }
            current_depth++;//进入下一层后,当前深度加1
            maxDepth1(root -> left);
            
            maxDepth1(root -> right);
            current_depth--;//返回上一层后,当前深度减1
        }
    }

参考

遍历:深度优先

https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/solution/bian-li-shen-du-you-xian-by-geek-8m/

求二叉树的最大深度

标签:div   com   geek   mic   leetcode   表示   使用   pre   roo   

原文地址:https://www.cnblogs.com/QQ2962269558/p/13195953.html

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