leetcode-637. 二叉树的层平均值

637. 二叉树的层平均值 - 力扣(Leetcode)

层次遍历+求平均值,Go中的切片也可以模拟queue的功能

/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func averageOfLevels(root *TreeNode) []float64 {
queue := []*TreeNode{root}
avgList := []float64{}
for len(queue) > 0 {
sum := 0
lenQ := len(queue)
for i := 0; i < lenQ; i++ {
sum += queue[i].Val
if queue[i].Left != nil {
queue = append(queue, queue[i].Left)
}
if queue[i].Right != nil {
queue = append(queue, queue[i].Right)
}
}
// fmt.Println(sum, lenQ)
avgList = append(avgList, float64(sum)/float64(lenQ))
queue = queue[lenQ:]
}
return avgList
}
posted @   吴丹阳-V  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2022-01-03 输入法Rime
点击右上角即可分享
微信分享提示