千家信息网

python二叉树的层平均值是什么

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,这期内容当中小编将会给大家带来有关python二叉树的层平均值是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。序主要记录一下python二叉树的层平均值题目给定
千家信息网最后更新 2025年02月05日python二叉树的层平均值是什么

这期内容当中小编将会给大家带来有关python二叉树的层平均值是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

主要记录一下python二叉树的层平均值

题目

给定一个非空二叉树, 返回一个由每层节点平均值组成的数组。 示例 1:输入:    3   / \  9  20    /  \   15   7输出:[3, 14.5, 11]解释:第 0 层的平均值是 3 ,  第1层是 14.5 , 第2层是 11 。因此返回 [3, 14.5, 11] 。 提示:    节点值的范围在32位有符号整数范围内。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/average-of-levels-in-binary-tree著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

题解

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */class Solution {    public List averageOfLevels(TreeNode root) {        if (root == null) {            return Collections.emptyList();        }        List result = new ArrayList();        Queue queue = new LinkedList();        queue.offer(root);        while(!queue.isEmpty()) {            int size = queue.size();            double sum = 0;            for(int i=0; i< size; i++){                TreeNode node = (TreeNode)queue.poll();                sum += node.val;                if (node.left != null) {                    queue.offer(node.left);                }                if (node.right !=null) {                    queue.offer(node.right);                }            }            result.add(sum*1.0/size);        }        return result;    }}

这里借助队列进行层次遍历,每次先记录queue的size,然后按size来poll,取出元素累加sum,然后把不为null的node.left及node.right放入到queue中,最后计算sum/size放入到result中。

上述就是小编为大家分享的python二叉树的层平均值是什么了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

平均值 内容 节点 范围 分析 专业 中小 元素 内容丰富 出处 商业 官方 就是 层次 数组 整数 文章 更多 来源 知识 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 哈利波特每个服务器多少人 并发读写数据库怎么保证数据安全 连接数据库用户名sa 100万并发连接服务器 小学游戏充值等网络安全简报 win服务器安全设置详细 旅游信息数据库项目创新特色 我国为什么重视网络安全 梦间集服务器尚未开启 销售软件开发违法吗 unsoda数据库怎么用 ios14邮件未从服务器下载 乡镇网络安全保障工作汇报 服务器的能组什么词 2018网络安全知识竞赛题 汽车网络技术现场总线 冠军篮球经理数据库 郑州软件开发前景 软件开发工程师有什么好处 取消服务器的文件怎么打开 建立网络安全信息体系 首先 深圳云顶互联网科技有限公司 完整的软件开发需要的员工 新兴的眼镜行业软件开发 数据库工程师职业岗位调研 香港服务器租用需要考量吗 娱乐app软件开发 hpz600服务器安装 在家可以远程办公室服务器 数据库中的数据由什么统一
0