面试算法-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;
    }
}
相关推荐
Live&&learn39 分钟前
算法训练-数据结构
数据结构·算法·leetcode
松岛雾奈.2302 小时前
机器学习--PCA降维算法
人工智能·算法·机器学习
电子_咸鱼2 小时前
【STL string 全解析:接口详解、测试实战与模拟实现】
开发语言·c++·vscode·python·算法·leetcode
sweet丶3 小时前
适合iOS开发的一种缓存策略YYCache库 的原理
算法·架构
是宇写的啊3 小时前
算法—滑动窗口
算法
风筝在晴天搁浅3 小时前
代码随想录 509.斐波那契数
数据结构·算法
落落落sss3 小时前
java实现排序
java·数据结构·算法
limenga1024 小时前
支持向量机(SVM)深度解析:理解最大间隔原理
算法·机器学习·支持向量机
coder江4 小时前
二分查找刷题总结
算法
坚持就完事了5 小时前
蓝桥杯中Python常用的库与模块
python·算法