Leetcode 111.二叉树的最小深度

10 阅读1分钟

题目

image.png

26年5月13日(首刷自解)

func minDepth(root *TreeNode) int {
    if root==nil {
        return 0
    }
    size:=1
    q:=[]*TreeNode{root}
    for len(q)>0{
        p:=[]*TreeNode{}
        
        for j:=0 ;j<len(q) ;j++ {
            node:=q[j]
            if node.Left!=nil{
                p=append(p,node.Left)
            }
            if node.Right!=nil{
                p=append(p,node.Right)
            }
            if node.Left==nil&&node.Right==nil{
                return size 
            }
        }
        size++
        q=p
    } 
      return 0
}

注意最后因为Leetcode规则,加一个实际上没作用的return 0