二叉树的层平均值
程序员文章站
2022-07-14 18:01:17
...
637. 二叉树的层平均值 - 力扣(LeetCode) (leetcode-cn.com)
非递归:
class Solution {
vector<double>res;
public:
vector<double> averageOfLevels(TreeNode* root) {
if(root==nullptr) return res;
fun(root);
return res;
}
void fun(TreeNode*root){
queue<TreeNode*>q;
q.push(root);
while(!q.empty()){
double sum=0;
int count=q.size();
int record=count;
while(count--){
root=q.front();
sum+=root?root->val:0;
q.pop();
if(root->left)
q.push(root->left);
if(root->right)
q.push(root->right);
}
if(record)
res.push_back(sum/record);
}
}
};
上一篇: 二叉树最小深度
下一篇: 238. 除自身以外数组的乘积