长春调整疫情风险等级seo内链优化
2023.6.29
依旧是层序遍历的变体,在层序遍历的代码中的内层循环求个和,然后出循环之后取个平均值即可实现层平均值,下面上代码:
class Solution {
public:vector<double> averageOfLevels(TreeNode* root) {vector<double> ans;queue<TreeNode*> que;que.push(root);while(!que.empty()){int new_size = que.size();int old_size = que.size();double sum = 0;while(new_size--){TreeNode* node = que.front();que.pop();sum += node->val;if(node->left) que.push(node->left);if(node->right) que.push(node->right);}double average = sum / old_size;ans.push_back(average);}return ans;}
};
注意sum要使用double类型。