1. 程式人生 > >637. Average of Levels in Binary Tree(Tree)

637. Average of Levels in Binary Tree(Tree)

題目:求每一層元素的平均值

思路: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; } };