news 2026/9/17 23:50:00

算法---LeetCode 111. 二叉树的最小深度

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
算法---LeetCode 111. 二叉树的最小深度

1. 题目

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

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

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

示例 1:

输入:root = [3,9,20,null,null,15,7]
输出:2
示例 2:

输入:root = [2,null,3,null,4,null,5,null,6]
输出:5

提示:

树中节点数的范围在 [0, 105] 内
-1000 <= Node.val <= 1000

2. 题解

2.1 解法1: 递归

主要思想

这道题的关键是搞清楚递归结束条件

叶子节点的定义是左孩子和右孩子都为 null 时叫做叶子节点
当 root 节点左右孩子都为空时,返回 1
当 root 节点左右孩子有一个为空时,返回不为空的孩子节点的深度
当 root 节点左右孩子都不为空时,返回左右孩子较小深度的节点值

classSolution{publicintminDepth(TreeNoderoot){if(root==null)return0;if(root.left==null&&root.right==null)return1;intleft=minDepth(root.left);intright=minDepth(root.right);if(root.left==null)returnright+1;if(root.right==null)returnleft+1;returnMath.min(left,right)+1;}}

参考: 二叉树的最小深度-理解递归结束条件

2.2 解法2: BFS

classSolution{publicintminDepth(TreeNoderoot){if(root==null)return0;Queue<TreeNode>queue=newLinkedList<>();queue.offer(root);intdepth=0;while(!queue.isEmpty()){intsize=queue.size();depth++;for(inti=0;i<size;i++){TreeNodepoll=queue.poll();if(poll.left==null&&poll.right==null){returndepth;}if(poll.left!=null){queue.offer(poll.left);}if(poll.right!=null){queue.offer(poll.right);}}}return0;}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/17 6:44:16

Excalidraw构建RFM模型:客户价值分层可视化

Excalidraw构建RFM模型&#xff1a;客户价值分层可视化 在一次电商运营的复盘会上&#xff0c;产品经理指着PPT里密密麻麻的表格问&#xff1a;“这些‘高价值客户’到底是谁&#xff1f;我们该怎么触达&#xff1f;” 一旁的数据分析师叹了口气——他花了一整晚跑出的RFM分群结…

作者头像 李华
网站建设 2026/9/17 23:06:48

Vue.js入门指南:从核心特性到实战体验

前端开发领域&#xff0c;框架选型直接影响项目的开发效率与长期维护成本。Vue.js 作为轻量渐进式 JavaScript 框架&#xff0c;以“易用、灵活、高效”为核心优势&#xff0c;成为全球开发者的优选方案。无论是小型项目的快速落地&#xff0c;还是大型应用的规模化构建&#x…

作者头像 李华
网站建设 2026/9/17 1:12:47

Excalidraw绘制商业模式创新:价值主张重构

Excalidraw 绘制商业模式创新&#xff1a;价值主张重构 在一次产品战略研讨会上&#xff0c;团队围坐在屏幕前&#xff0c;讨论如何重新定义一款面向中小企业的 SaaS 产品的核心价值。传统的会议方式往往是主持人念 PPT&#xff0c;其他人被动倾听——但这次不同。有人输入了一…

作者头像 李华
网站建设 2026/9/17 16:18:54

Excalidraw呈现智能合约流程:DApp交互路径

Excalidraw呈现智能合约流程&#xff1a;DApp交互路径 在去中心化应用&#xff08;DApp&#xff09;的开发过程中&#xff0c;团队常常面临一个看似简单却极具挑战的问题&#xff1a;如何让产品经理、前端工程师、合约开发者和审计人员对同一个交互逻辑“看到同样的画面”&…

作者头像 李华
网站建设 2026/9/17 5:39:34

58、高效管理联系人与日历:Windows Live 实用指南

高效管理联系人与日历:Windows Live 实用指南 在日常的工作和生活中,高效管理联系人与日程安排是非常重要的。Windows Live 提供了一系列强大的工具,包括联系人管理和日历功能,能够帮助我们更好地组织和协调信息。下面将详细介绍如何使用这些功能。 1. 联系人的导入与导出…

作者头像 李华
网站建设 2026/9/17 16:40:02

64、电脑使用安全与磁盘管理全攻略

电脑使用安全与磁盘管理全攻略 在当今数字化时代,电脑已经成为人们生活和工作中不可或缺的工具。然而,如何确保电脑使用的安全性,尤其是保护家人在使用电脑时的安全,以及如何有效地管理电脑的磁盘和驱动器,是许多人关心的问题。本文将为你详细介绍删除组、设置家长控制、…

作者头像 李华