本文主要是介绍104、二叉树的最大深度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
给定一个二叉树 root
,返回其最大深度。
二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。
题解:所谓深度,就是树中某节点距离根节点的距离,如图中根节点3的深度为1,那节点7的深度为3,所谓高度,就是树中某节点距离末端叶子结点的距离,如图中7的高度为1,则节点3的高度为3,。有了这个认识,那么二叉树中的最大深度其实也就是根节点的高度。
递归三部曲:
确定递归函数的参数和返回值;
确定终止条件;
确定单层递归的逻辑;
代码如下:
class Solution {
public:int maxDepth(TreeNode* root) {if(NULL== root) return 0;return 1+max(maxDepth(root->left), maxDepth(root->right));}
};
注意:
虽然知道每递归一次,高度就要+1(注意此时其实计算的是根节点的高度,因为是从递到末端节点才归来逐渐加1),要注意这个1要怎么加,要与递归相联系才能累加。
这篇关于104、二叉树的最大深度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!