637. Average of Levels in Binary Tree(Tree)
阿新 • • 發佈:2019-02-02
題目:求每一層元素的平均值
思路:BFS遍歷
class Solution {
public:
vector<double> averageOfLevels(TreeNode* root) {
vector<double>result;
if(!root) return result;
TreeNode *q[10000];
int num=1,num_1=1,next_num=0,l=0,r=1;
q[l]=root;
double sum=0 ;
while(l<r){
TreeNode *temp = q[l];
num--;
sum+=temp->val;
if(temp->left) {
q[r]=temp->left;
r++;
next_num++;
}
if(temp->right) {
q[r]=temp->right;
r++;
next_num++;
}
if (num==0){
result.push_back(sum/num_1);
num=num_1=next_num;
next_num=0;
sum=0;
}
l++;
}
return result;
}
};