欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

二叉树的层平均值

程序员文章站 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);
        }
    }
};

相关标签: LeetCode