刷题专栏(九):二叉树的最小深度

简介: 刷题专栏(九):二叉树的最小深度

前言

今天我们还是来看关于数据结构二叉树的题目,充分的了解二叉树。

《二叉树的最小深度》这道题的难度级别属于简单级别,也就是基本的操作类型的题目。

image.png

算法题:二叉树的最小深度

从题目的描述来看,我们可以获取每一个节点不为空的路径,直到当前节点的左右子节点都为空时,才算得上是终止,此时获得的深度层数和其他分支的比较后,得到最小的一个值,就是我们最后要的结果值。

在解题的过程中,还要考虑两个特殊的情况。

第一,判断该节点是否为空,如果为空的话,自然也就是0了。

第二,判断两个子节点是否都为空,如果都为空的情况,那也就不用继续下去了,因为当前节点就是最底层的了。

代码展示

本次代码使用的是递归方式不断递归到最后一个符合要求的节点,并且得出最小的终止层数。

/**
 * Definition for a binary tree node.
 * public 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;
        }
        //有一侧为空直接输出1
        if (root.left == null && root.right == null) {
            return 1;
        }
        int z = 10001;
        if (root.left != null) {
            z = Math.min(minDepth(root.left), z);
        }
        if (root.right != null) {
            z = Math.min(minDepth(root.right), z);
        }
        return z + 1;
    }
}

执行结果:

第一次理解错了题目,失败了一次。

很不理想,但是这和官方题解思路是一样的,只能说更多的牛人在前面。

image.png

总结

跟我一起说,遇到处理二叉树,那就是用递归最好了,欢迎大家关注我的刷题专栏。

目录
相关文章
|
NoSQL Redis
深入了解Redis持久化与备份策略
本篇深入介绍了Redis的持久化和备份机制,为读者提供了全面的了解和实际操作示例。我们首先探讨了RDB持久化方式,通过将数据集的快照保存到磁盘文件,实现了数据的定期备份和恢复。接着,详细介绍了AOF持久化,将每个写操作记录到日志文件中,确保了数据的持久性和安全性。我们还讨论了混合持久化,将RDB和AOF结合,兼顾了快速恢复和持久化的需求。
919 0
|
小程序 容器
小程序中的权限设计
小程序中的权限设计
小程序中的权限设计
|
存储 关系型数据库 uml
00003.七大软件架构设计原则
00003.七大软件架构设计原则
199 0
|
弹性计算 小程序 开发者
Student:T8M2 Tammy
在第一次使用时,平台还提供了教程,只需要用心花点时间完成其中的场景实践和技能自测就可以啦。并且每一步都有很详细的教程,包括如何体验ECS云服务器的新手场景以及了解其中的概念和基础操作。对于我这种之前没使用过云服务器的人来说真的非常友好。
|
消息中间件 弹性计算 网络协议
【云栖号案例 | 互联网】智启蓝墨通过块存储提升云班课核心业务性能
云班课需要更高速的块存储解决方案来满足使用的性能需求。ESSD云盘提供稳定低时延、高吞吐能力,支持弹性扩容,实现存储资源随业务发展而灵活扩展。
【云栖号案例 | 互联网】智启蓝墨通过块存储提升云班课核心业务性能
|
8天前
|
人工智能 安全 API
CoPaw:5分钟部署你的 AI助理
源自阿里巴巴开源生态的个人 AI 助理——CoPaw。作为阿里倾力打造的开源力作,CoPaw 完美打通钉钉、飞书、Discord 等多平台对话通道,支持定时任务自动化。内置 PDF/Office 深度处理、新闻摘要等强大技能,更开放自定义扩展接口。坚持数据全程私有化部署,绝不上传云端,让每一位用户都能在大厂技术加持下,拥有安全、专属的智能助手。
|
11天前
|
人工智能 自然语言处理 JavaScript
2026年Windows+Ollama本地部署OpenClaw保姆级教程:本地AI Agent+阿里云上快速搭建
2026年OpenClaw凭借本地部署、私有化运行的特性,成为打造个人智能体的核心工具,而Ollama作为轻量级本地大模型管理工具,能让OpenClaw摆脱对云端大模型的依赖,实现**本地推理、数据不泄露、全流程私有化**的智能体验。本文基于Windows 11系统,从硬件环境准备、Ollama安装与模型定制、OpenClaw部署配置、技能扩展到常见问题排查,打造保姆级本地部署教程,同时补充阿里云OpenClaw(Clawdbot)快速部署步骤,兼顾本地私有化需求与云端7×24小时运行需求,文中所有代码命令均可直接复制执行,确保零基础用户也能快速搭建属于自己的本地智能体。
11856 97
|
8天前
|
人工智能 安全 JavaScript
阿里云上+本地部署OpenClaw(小龙虾)新手攻略:解锁10大必备Skills,零基础也能玩转AI助手
2026年,开源AI代理工具OpenClaw(昵称“小龙虾”)凭借“能实际做事”的核心优势,在GitHub斩获25万+星标,成为现象级AI工具。它最强大的魅力在于可扩展的Skills(技能包)系统——通过ClawHub插件市场的数百个技能,能让AI助手从简单聊天升级为处理办公、学习、日常事务的全能帮手。
7852 28
|
6天前
|
人工智能 JavaScript Ubuntu
5分钟上手龙虾AI!OpenClaw部署(阿里云+本地)+ 免费多模型配置保姆级教程(MiniMax、Claude、阿里云百炼)
OpenClaw(昵称“龙虾AI”)作为2026年热门的开源个人AI助手,由PSPDFKit创始人Peter Steinberger开发,核心优势在于“真正执行任务”——不仅能聊天互动,还能自动处理邮件、管理日程、订机票、写代码等,且所有数据本地处理,隐私完全可控。它支持接入MiniMax、Claude、GPT等多类大模型,兼容微信、Telegram、飞书等主流聊天工具,搭配100+可扩展技能,成为兼顾实用性与隐私性的AI工具首选。
6135 12

热门文章

最新文章