0
点赞
收藏
分享

微信扫一扫

LeetCode刷题(147)~二叉树的层平均值


题目描述

给定一个非空二叉树, 返回一个由每层节点平均值组成的数组。

示例 1:

输入:
3
/ \
9 20
/ \
15 7
输出:[3, 14.5, 11]
解释:
第 0 层的平均值是 3 , 第1层是 14.5 , 第2层是 11 。因此返回 [3, 14.5, 11] 。

提示:

  • 节点值的范围在32位有符号整数范围内。

解答 By 海轰

提交代码

vector<double> averageOfLevels(TreeNode* root) {
queue<TreeNode*> q;
vector<double> ans;
q.push(root);
while(!q.empty())
{
int queuesize=q.size();
double sum=0;
for(int i=0;i<queuesize;++i)
{
TreeNode* temp=q.front();
q.pop();
sum+=(temp->val);
if(temp->left) q.push(temp->left);
if(temp->right) q.push(temp->right);
}
ans.push_back(sum/queuesize);
}
return ans;
}

运行结果

LeetCode刷题(147)~二叉树的层平均值_leetcode

题目来源


举报

相关推荐

0 条评论