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);
}

分析:

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

总结:

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

相关推荐
We་ct13 小时前
LeetCode 34. 在排序数组中查找元素的第一个和最后一个位置:二分查找实战
前端·算法·leetcode·typescript·二分
Sunshine for you13 小时前
C++中的对象池模式
开发语言·c++·算法
炽烈小老头13 小时前
【 每天学习一点算法 2026/03/25】在排序数组中查找元素的第一个和最后一个位置
学习·算法
刀法如飞13 小时前
AI时代,重温10大经典排序算法的思维
算法·排序算法·ai编程
啊我不会诶13 小时前
求LCA 倍增法
c++·算法·深度优先
CoderIsArt13 小时前
编译器构建中涉及的算法
数据库·算法
暮冬-  Gentle°13 小时前
编译器优化屏障使用
开发语言·c++·算法
云淡风轻~窗明几净13 小时前
关于TSP的海岸线猜想:SeaLine算法的逐层法(不同于逐点法)
数据结构·算法·动态规划·模拟退火算法
刀法如飞13 小时前
AI时代,重温10大经典排序算法
算法·排序算法·ai编程
m0_7301151113 小时前
模板编程中的SFINAE技巧
开发语言·c++·算法