求二叉树的最大深度

Posted qq2962269558

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求二叉树的最大深度相关的知识,希望对你有一定的参考价值。

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/

以上是关于求二叉树的最大深度的主要内容,如果未能解决你的问题,请参考以下文章

求二叉树的最大深度

力扣第104题:​ ​求二叉树的最大深度

LeetCode(104):二叉树的最大深度

求二叉树深度

Leetcode 题号26:删除数组中的重复元素, 104 求二叉树的最大深度

Leetcode 题号26:删除数组中的重复元素, 104 求二叉树的最大深度