面试算法-73-二叉树的最小深度

题目

给定一个二叉树,找出其最小深度。

最小深度是从根节点到最近叶子节点的最短路径上的节点数量。

说明:叶子节点是指没有子节点的节点。

示例 1:

输入:root = 3,9,20,null,null,15,7

输出:2

java 复制代码
class Solution {
    public int minDepth(TreeNode root) {
        if(root == null){
            return 0;
        }

        if(root.left == null && root.right == null){
            return 1;
        }

        if(root.left == null){
            return minDepth(root.right) +1;
        }

        if(root.right == null){
            return minDepth(root.left) +1;
        }
        
        return Math.min(minDepth(root.left),minDepth(root.right)) + 1;
    }
}
相关推荐
sali-tec14 分钟前
C# 基于OpenCv的视觉工作流-章82-毛刺检测
图像处理·人工智能·opencv·算法·计算机视觉
恒想进步14 分钟前
leetcode202.快乐数
算法
8Qi829 分钟前
LeetCode 208:实现 Trie(前缀树)—— Java 题解 ✅
java·算法·leetcode·二叉树·tire树
吴可可12331 分钟前
CAD2004二次开发C#可行性解析
算法
字节高级特工33 分钟前
C++11(二) 革新:引用折叠与lambda表达式
java·开发语言·c++·算法
碎碎念_49237 分钟前
”二分“高频题型总结:最小最大值、最大最小值、满足条件最小 / 最大
算法·二分
罗超驿1 小时前
14.LeetCode 438 题解:滑动窗口+哈希表找所有字母异位词
java·算法·leetcode
小欣加油1 小时前
leetcode239 滑动窗口最大值
数据结构·c++·算法·leetcode·哈希算法
luoganttcc1 小时前
FP16 和 BF16 的数学表达
算法
玖釉-1 小时前
Vulkan 示例解析:pipelines.cpp 如何在一个 Render Pass 中切换多条 Graphics Pipeline
c++·windows·算法·图形渲染