专栏首页LeetCode解题111. 二叉树的最小深度
原创

111. 二叉树的最小深度

链接

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

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

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

示例:

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

示例1

    3
   / \
  9  20
    /  \
   15   7

返回它的最小深度  2.

type TreeNode struct {
	Val   int
	Left  *TreeNode
	Right *TreeNode
}

// 注意审题,没有子节点的 node 才是 leaf
func minDepth(root *TreeNode) int {
	switch {
	case root == nil:
		return 0
	case root.Left == nil:
		return 1 + minDepth(root.Right)
	case root.Right == nil:
		return 1 + minDepth(root.Left)
	default:
		return 1 + min(minDepth(root.Left), minDepth(root.Right))
	}
}

func min(a, b int) int {
	if a < b {
		return a
	}
	return b
}

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • LeetCode 111. 二叉树的最小深度

    来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/minimum-depth-of-binary-tre...

    Michael阿明
  • Leetcode No.111 二叉树的最小深度

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

    week
  • 画解算法:111. 二叉树的最小深度

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

    灵魂画师牧码
  • ​LeetCode刷题实战111:二叉树的最小深度

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就...

    程序IT圈
  • LC104–二叉树的最大深度—-LC111— 二叉树的最小深度

    Java架构师必看
  • 二叉树的最小深度

    给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明: 叶子节点是指没有子节点的节点。

    WindrunnerMax
  • 二叉树最小深度

    使用以上代码返回最小深度为 1,其实最小深度为 2,因为最小深度的定义为:从根节点到最近叶子节点的最短路径上的节点数量。

    double
  • 【Leetcode】二叉树的最小深度

    这题和【LeetCode】二叉树的最大深度很相似,我都是采用递归求解(流下了菜鸡的泪水)。我一开始撸出来的代码WA啦,[1,2]这个测试用例,我输出的最小深度是...

    喜欢ctrl的cxk
  • LeetCode66|二叉树的最小深度

    码农王同学

扫码关注云+社区

领取腾讯云代金券