郦湘云 发表于 2025-6-4 16:48:30

LeetCode637.二叉树的层平均值

LeetCode题目链接:https://leetcode.cn/problems/average-of-levels-in-binary-tree/description/

题目叙述:

给定一个非空二叉树, 返回一个由每层节点平均值组成的数组。

思路

这题我们依然是采用层序遍历,其实和二叉树的层序遍历没多大区别,遍历的时候插入每一层的平均值就够了!如果不会二叉树的层序遍历的话,可以去看看我之前的文章,里面详细讲述了二叉树的层序遍历
二叉树的层序遍历:https://www.cnblogs.com/Tomorrowland/articles/18314740
这题相比于二叉树的层序遍历,区别就是不需要设置current数组,只需要遍历每一层时设置一个sum,存储每一层的元素的总和,然后再将平均值放入数组中即可
AC代码如下:

//二叉树的层平均值
class Solution {
public:
        vector<double> averageOfLevels(TreeNode* root) {
                vector<double> result;
                if (root == NULL) return result;
                queue<TreeNode*> que;
                que.push(root);
                while (!que.empty()) {
                        int size = que.size();
                        //定义sum变量,存储每一层元素相加的总和
                        double sum = 0;
                        //这里不能用while循环,否则size的值会改变
                        for(int i=0;i<size;i++) {
                                TreeNode* node = que.front();
                                que.pop();
                                sum += node->val;
                                if (node->left != nullptr) que.push(node->left);
                                if (node->right != NULL) que.push(node->right);
                        }
                        //将每一层的平均值加入数组中
                        result.push_back(sum / size);
                }
                return result;
        }
};
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

啸妹回 发表于 2025-11-18 19:11:16

分享、互助 让互联网精神温暖你我

轨项尺 发表于 2025-12-1 00:41:56

感谢分享,学习下。

冷晓晴 发表于 2025-12-12 06:52:41

新版吗?好像是停更了吧。

梳踟希 发表于 2025-12-16 20:11:00

不错,里面软件多更新就更好了

卒挪 发表于 2025-12-18 05:53:02

谢谢楼主提供!

殳世英 发表于 2026-1-13 18:34:05

很好很强大我过来先占个楼 待编辑

菅舛 发表于 2026-1-14 01:49:23

谢谢分享,试用一下

暴灵珊 发表于 2026-1-15 00:17:13

感谢分享

万妙音 发表于 2026-1-16 03:56:19

用心讨论,共获提升!

端木茵茵 发表于 2026-1-16 08:20:44

谢谢分享,辛苦了

但婆 发表于 2026-1-18 04:01:54

新版吗?好像是停更了吧。

裆趾针 发表于 2026-1-21 06:19:38

用心讨论,共获提升!

尤晓兰 发表于 2026-1-21 12:19:45

热心回复!

拼匍弦 发表于 2026-1-21 21:33:47

东西不错很实用谢谢分享

俞秋荣 发表于 2026-1-23 03:39:55

收藏一下   不知道什么时候能用到

乃阕饯 发表于 2026-1-26 19:15:21

懂技术并乐意极积无私分享的人越来越少。珍惜

伯绮梦 发表于 2026-1-29 06:18:33

谢谢分享,试用一下

钦遭聘 发表于 2026-2-1 18:24:54

新版吗?好像是停更了吧。

上官泰 发表于 2026-2-2 04:11:03

谢谢分享,试用一下
页: [1] 2
查看完整版本: LeetCode637.二叉树的层平均值