题目
给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。
在层序遍历基础上加上平均
cpp
class Solution {
public:
vector<double> averageOfLevels(TreeNode* root) {
queue<TreeNode*> que;
vector<double> result;
if (root != NULL) que.push(root);
while (!que.empty()) {
int size = que.size();
double ans = 0;
for (int i = 0; i < size; i++) {
TreeNode* node = que.front();
que.pop();
ans += node->val;
if (node -> left) que.push(node->left);
if (node -> right) que.push(node->right);
}
ans = ans / size;
result.push_back(ans);
}
return result;
}
};