Leetcode 637.二叉树的平均值

11 阅读1分钟

题目

image.png

26年5月14日(首刷思路正确,语法小错误ai提示后自解)

func averageOfLevels(root *TreeNode) []float64 {
    ret:=[]float64{}
    if root==nil{
        return nil
    }
    q:=[]*TreeNode{root}
    for len(q)>0{
        sum:=0.0
        p:=[]*TreeNode{}      
        for j:=0;j<len(q);j++{
             node:=q[j]
            sum+=float64(node.Val)
             if node.Left!=nil{
                p=append(p,node.Left)
            }
            if node.Right!=nil{
                p=append(p,node.Right)
            }
        }
        avr:= float64(sum) / float64(len(q))
        ret=append(ret,avr)
        q=p
    }    
    return ret
}

小错误

float(sum)类型转换