LeetCode 111. Minimum Depth of Binary Tree

111. Minimum Depth of Binary Tree(二叉树的最小深度)

链接

https://leetcode-cn.com/problems/minimum-depth-of-binary-tree/

题目

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

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

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

示例:

给定二叉树 [3,9,20,null,null,15,7],

3

/
9 20
/
15 7
返回它的最小深度  2.

思路

二叉树的问题,不过比起最大深度麻烦了不少。
首先还是空节点直接返回0;
如果左右两个子节点有一个为空,最大深度分别为a和b,那么空的那个就应该等于0,返回另外一个深度+0+1;
如果两个都不为空节点,那么返回二者中的较小值+1.
(这题我本来的代码对于[1,2]的结果为1,是错误的,之后参考了题解,才发现我对于题目的理解出了问题)

代码

  public class TreeNode {

    int val;
    TreeNode left;
    TreeNode right;

    TreeNode(int x) {
      val = x;
    }
  }


  public static int minDepth(TreeNode root) {
    if (root == null) {
      return 0;
    }
    if (root.left == null && root.right == null) {
      return 1;
    }
    if (root.left == null || root.right == null) {
      return minDepth(root.right) + minDepth(root.left) + 1;
    }
    return 1 + Math.min(minDepth(root.left), minDepth(root.right));
  }
  
posted @   cheng102e  阅读(91)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示