给定一个二叉树 root
,返回其最大深度。
二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。
思路一:递归
int dfs(struct TreeNode* node){
int rdepth = 1;
int ldepth = 1;
if(node->left!=NULL) ldepth = rdepth + dfs(node->left);
if(node->right!=NULL) rdepth = rdepth +dfs(node->right);
if(ldepth>rdepth)return ldepth;
else return rdepth;
}
int maxDepth(struct TreeNode* root){
if(root==NULL)return 0;
return dfs(root);
}
分析:
本题要求二叉树的最大深度,可想到将左子树深度和右子树深度分别记录下来,最后比较左右子树深度输出最大深度文章来源:https://www.toymoban.com/news/detail-674817.html
总结:
本题考察二叉树的应用,将左右子树分别递归求出最大深度输出即可文章来源地址https://www.toymoban.com/news/detail-674817.html
到了这里,关于leetcode做题笔记104. 二叉树的最大深度的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!