637. 二叉树的层平均值
题目
- 给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。
python
题解:BFS
class Solution:
def averageOfLevels(self, root: Optional[TreeNode]) -> List[float]:
q=[root]#用列表做队列
res=[]#结果列表
while q:
size = len(q)
m=0#每一层的平均值
for _ in range (size):
cur=q.pop(0)#弹出队列第一个原素
m+=cur.val#先求每一层的和
if cur.left:
q.append(cur.left)#如果有左孩子,加入队列
if cur.right:
q.append(cur.right)#如果有右孩子,加入队列
m=float(m/size)#用每一层的和除每一层的个数为每一层的平均数,转换为浮点型
res.append(m)#把每一层的平均值加入到结果列表
return res
javascript
题解:层序遍历
var averageOfLevels = function(root) {
if(root===null) return []
let res=[]
let queue=[root]
while(queue.length>0){
let n=queue.length
let cnt=0
for(let i=0;i<n;i++){
let cur_node=queue.shift()
cnt+=cur_node.val
if(cur_node.left) queue.push(cur_node.left)
if(cur_node.right) queue.push(cur_node.right)
}
res.push(cnt/n)
}
return res
};
标签:
力扣
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人