1. 题目
2. 方法一
2.1. 代码
class Solution {
public:
vector<double> averageOfLevels(TreeNode* root)
{
vector<double> sum_layer;
if(root==NULL) return sum_layer;
queue<TreeNode*> node_queue;
node_queue.push(root);
while(node_queue.empty()!=true)
{
double sum=0;
int n=node_queue.size();
for(int i=0;i<n;i++)
{
TreeNode *node=node_queue.front();
node_queue.pop();
sum+=node->val;
if(node->left!=NULL) node_queue.push(node->left);
if(node->right!=NULL) node_queue.push(node->right);
}
sum_layer.push_back(sum/n);
}
return sum_layer;
}
};
2.2. 结果