首页 > 其他 > 详细

Leetcode637.二叉树的层平均值

时间:2020-09-12 16:30:35      阅读:62      评论:0      收藏:0      [点我收藏+]

题意

求二叉树每一层的结点的平均值

思路

  • 采用最符合直觉的层次遍历方式。在层次遍历的时候,取每一层结点的时候进行计算就好了。

代码

class Solution {
public:
    vector<double> averageOfLevels(TreeNode* root) {
        if(!root)   return {};
        vector<double> ans;
        queue<TreeNode*> q;
        q.push(root);
        while(!q.empty())
        {
            double tmp = 0.0;
            int len = q.size();
            for(int i=0;i<len;i++)
            {
                auto cur = q.front();
                q.pop();
                tmp += cur->val;	//多了这里的计算
                if(cur->left)   q.push(cur->left);
                if(cur->right)  q.push(cur->right);
            }
            ans.emplace_back(tmp / len);
        }
        return ans;
    }
};

Leetcode637.二叉树的层平均值

原文:https://www.cnblogs.com/MartinLwx/p/13656596.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!