leetcode做题笔记104. 二叉树的最大深度

给定一个二叉树 root ,返回其最大深度。

二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。

思路一:递归

cpp 复制代码
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);
}

分析:

本题要求二叉树的最大深度,可想到将左子树深度和右子树深度分别记录下来,最后比较左右子树深度输出最大深度

总结:

本题考察二叉树的应用,将左右子树分别递归求出最大深度输出即可

相关推荐
EllinY1 小时前
CF2217E Definitely Larger 题解
c++·笔记·算法·构造
nnsix1 小时前
JIT(即时编译)、 AOT(预先编译)、虚拟机CLR 笔记
笔记
NULL指向我2 小时前
Simplis仿真笔记1:Simplis_V8.4_x64安装过程
笔记
ouliten4 小时前
[Triton笔记6]层标准化
笔记
玖釉-4 小时前
下一个排列:从字典序到原地算法的完整推导
数据结构·c++·windows·算法
IronMurphy4 小时前
【算法五十】62. 不同路径
算法
影寂ldy5 小时前
C#一维数组
算法
玄米乌龙茶1235 小时前
思维导图笔记:Prompt工程
笔记·prompt
过期动态5 小时前
【LeetCode 热题 100】移动零
java·数据结构·算法·leetcode·职场和发展·rabbitmq