代码随想录 Leetcode637. 二叉树的层平均值

题目:


代码(首刷自解 2024年1月24日):

cpp 复制代码
class Solution {
public:
    vector<double> averageOfLevels(TreeNode* root) {
        vector<double> res = {};
        if(root == nullptr) return res;
        queue<TreeNode*> que;
        TreeNode* cur = root;
        que.push(cur);
        int size = 0;
        while (!que.empty()) {
            size = que.size();
            double digit = size;
            long long sum = 0;
            while (size--) {
                TreeNode* node = que.front();
                sum += node->val;
                que.pop();
                if (node->left) que.push(node->left);
                if (node->right) que.push(node->right);
            }
            res.emplace_back(sum/digit);
        }
        return res;
    }
};
相关推荐
a努力。2 分钟前
字节跳动Java面试被问:一致性哈希的虚拟节点和数据迁移
java·开发语言·分布式·算法·缓存·面试·哈希算法
老四啊laosi5 分钟前
[C++初阶] 9. STL--string使用(二)
c++
VT.馒头10 分钟前
【力扣】2622. 有时间限制的缓存
javascript·算法·leetcode·缓存·typescript
Hcoco_me11 分钟前
大模型面试题71: DPO有什么缺点?后续对DPO算法有哪些改进?
人工智能·深度学习·算法·自然语言处理·transformer·vllm
SunkingYang12 分钟前
QT中如何使用QMessageBox 实现提示、警告、错误报告和用户决策功能
c++·qt·提示·错误·告警·用法·qmessagebox
mit6.82415 分钟前
dfs|bfs建图|hash贪心
算法
Once_day28 分钟前
CC++八股文之内存
c语言·c++
量子炒饭大师40 分钟前
【C++入门】Cyber骇客的同名异梦——【C++重载函数】(与C的函数差异)
c语言·开发语言·c++·函数重载
charlie11451419143 分钟前
现代嵌入式C++教程:if constexpr——把编译期分支写得像写注释 —— 工程味实战指南
开发语言·c++·笔记·学习·嵌入式·现代c++
LIZhang20161 小时前
c++ 转化句柄,解决多线程安全释放问题
开发语言·c++