NC13 二叉树的最大深度
Posted coder 靓仔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NC13 二叉树的最大深度相关的知识,希望对你有一定的参考价值。
情景提要
牛客题解系列,按照题号顺序开始。
NC13 二叉树的最大深度
01
题目描述
求给定二叉树的最大深度,
最大深度是指树的根结点到最远叶子结点的最长路径上结点的数量。
02
输入输出示例
输入:
{1,2}
输出:
2
03
题目分析
本题可以使用递归来做。当节点为空时,深度为0。否则结点深度为左右子树的深度的最大值+1。
使用迭代的方法也可以做。可以使用层序遍历,在循序中来计算循环的次数,就可以得到树的深度。就在下面两篇(NC14,NC15)有写二叉树层序遍历的题解,看这两篇就可以知道怎么用层序遍历的方法解本题了,这里就不重复啦。
03
代码实现
方法
/**
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
class Solution {
public:
/**
*
* @param root TreeNode类
* @return int整型
*/
int maxDepth(TreeNode* root) {
// write code here
if(!root) return 0;
return max(maxDepth(root->left),maxDepth(root->right))+1;
}
};
04
总结
把握好递归和迭代的套路,就可以解决二叉树的常规题目啦。
以上是关于NC13 二叉树的最大深度的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode LCP 07. 传递信息 / NC111 最大数 / NC16 判断二叉树是否对称 / NC13 二叉树的最大深度
代码随想录算法训练营第16天 | ● 104.二叉树的最大深度 559.n叉树的最大深度 ● 111.二叉树的最小深度 ● 222.完全二叉树的节点个数