[Leetcode]26.二叉树的最小深度


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

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

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

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


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

思想:层次遍历,记录当前层数,当发现叶子节点时就返回。

func minDepth(root *TreeNode) int {
	if root == nil {
		return 0
	}
	var layer int = 1
	s:= []*TreeNode{}
	s = append(s,root)
	f or len(s)!=0{
		temp := []*T reeNode{}
		for _,n:= ra n ge s{
			if n.Left==nil&&n.Right==nil{
				brea k   
			}       
			if n.Left!=nil{
				temp = append(temp,n.Left)
			}   
			if n.Right!=nil{ 
				temp = append(temp,n.Right)
			}   
		} 
		s = s[0:0]
		layer+=1
		s = temp
	}  
	return layer
}

题目来源:https://leetcode-cn.com/problems/minimum-depth-of-binary-tree