求二叉树的最大深度
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
}
}
参考
遍历:深度优先
以上是关于求二叉树的最大深度的主要内容,如果未能解决你的问题,请参考以下文章