当前位置: 首页 > news >正文

java练习(31)

ps:题目来自力扣

二叉树的最小深度

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

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

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

// 定义二叉树节点类
class TreeNode {
    int val;
    TreeNode left;
    TreeNode right;
    TreeNode() {}
    TreeNode(int val) { this.val = val; }
    TreeNode(int val, TreeNode left, TreeNode right) {
        this.val = val;
        this.left = left;
        this.right = right;
    }
}

class Solution {
    public int minDepth(TreeNode root) {
        // 如果根节点为空,最小深度为 0
        if (root == null) {
            return 0;
        }
        // 递归计算左子树的最小深度
        int leftDepth = minDepth(root.left);
        // 递归计算右子树的最小深度
        int rightDepth = minDepth(root.right);

        // 如果左子树为空,最小深度为右子树最小深度加 1
        if (root.left == null) {
            return rightDepth + 1;
        }
        // 如果右子树为空,最小深度为左子树最小深度加 1
        if (root.right == null) {
            return leftDepth + 1;
        }

        // 如果左右子树都不为空,取左右子树最小深度的较小值加 1
        return Math.min(leftDepth, rightDepth) + 1;
    }
}

相关文章:

  • 前沿计组知识入门
  • 实战开发coze应用-姓氏头像生成器(上)
  • 【前端学习笔记】Vite
  • 如何维护和保养直线模组?
  • docker安装kafka,并通过springboot快速集成kafka
  • 【大模型】AI 辅助编程操作实战使用详解
  • elementui中aria-hidden报错
  • 信息学奥赛c++语言:数组逆序重存放
  • 山石网科×阿里云通义灵码,开启研发“AI智造”新时代
  • 安装mmdet3d报错【fatal error: spconv/maxpool.h: No such file or directory】
  • 第六步:Python协议与模块——当字典化身数据库,import玩出花
  • vue3结合后端传递过来的文件进行预览功能
  • 知识库的变革:从分享到协同,重塑团队协作
  • Effective Go-新手学习Go需要了解的知识
  • Java-并发编程-死锁
  • 位运算符实现对数据特定内容的处理
  • 【爬虫基础】第一部分 网络通讯 P1/3
  • 全面掌握Python时间处理
  • 立创实战派ESP32-S3烧录小智AI指南
  • C 获取特定位数的值
  • 2025年两岸关系研讨会在上海开幕
  • 中国社科院:网文市场超430亿元,作者破3000万人
  • 国家统计局:4月份居民消费价格同比下降0.1%
  • 习近平会见古巴国家主席迪亚斯-卡内尔
  • 央行:下阶段将实施好适度宽松的货币政策
  • 聆听百年唐调正声:唐文治王蘧常吟诵传习的背后