力扣 LeetCode 111. 二叉树的最小深度(Day7:二叉树)

解题思路:

用后序遍历

题目要求的最小深度为根节点到叶子节点的最小深度,注意是到根节点,所以如图所示假设(没有9这个节点)是需要返回3的,而不是1(根节点左子树为空的情况),于是需要加两层判断

其余部分可参考求最大深度的思路,有一定相似之处

java 复制代码
class Solution {
    public int minDepth(TreeNode root) {
        if (root == null) return 0;
        
        int leftDepth = minDepth(root.left);
        int rightDepth = minDepth(root.right);
        if (root.left == null && root.right != null) return 1 + rightDepth;
        if (root.left != null && root.right == null) return 1 + leftDepth;
        int res = 1 + Math.min(leftDepth, rightDepth);
        return res;
    }
}
相关推荐
CoovallyAIHub8 小时前
破局红外小目标检测:异常感知Anomaly-Aware YOLO以“俭”驭“繁”
深度学习·算法·计算机视觉
点云SLAM9 小时前
图论中邻接矩阵和邻接表详解
算法·图论·slam·邻接表·邻接矩阵·最大团·稠密图
啊董dong9 小时前
课后作业-2025年11月23号作业
数据结构·c++·算法·深度优先·noi
星释9 小时前
Rust 练习册 80:Grains与位运算
大数据·算法·rust
dlz08369 小时前
从架构到数据结构,到同步逻辑,到 show run 流程优化
数据结构
jllws19 小时前
数据结构_字符和汉字的编码与查找
数据结构
zzzsde9 小时前
【C++】C++11(1):右值引用和移动语义
开发语言·c++·算法
学困昇9 小时前
C++11中的包装器
开发语言·数据结构·c++·c++11
sheeta199812 小时前
LeetCode 每日一题笔记 日期:2025.11.24 题目:1018. 可被5整除的二进制前缀
笔记·算法·leetcode