前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >111. 二叉树的最小深度

111. 二叉树的最小深度

原创
作者头像
Michel_Rolle
修改2021-03-08 09:58:08
8410
修改2021-03-08 09:58:08
举报
文章被收录于专栏:LeetCode解题LeetCode解题

链接

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

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

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

示例:

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

示例1

代码语言:txt
复制
    3
   / \
  9  20
    /  \
   15   7

返回它的最小深度 ?2.

代码语言:txt
复制
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
}

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com