面试算法-65-二叉树的层平均值

news2024/9/23 1:28:16

题目

给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。

示例 1:
在这里插入图片描述

输入:root = [3,9,20,null,null,15,7]
输出:[3.00000,14.50000,11.00000]
解释:第 0 层的平均值为 3,第 1 层的平均值为 14.5,第 2 层的平均值为 11 。
因此返回 [3, 14.5, 11] 。

class Solution {
    public List<Double> averageOfLevels(TreeNode root) {
        List<Double> result = new ArrayList<>();
        LinkedList<TreeNode> queue1 = new LinkedList<>();
        LinkedList<TreeNode> queue2 = new LinkedList<>();
        queue1.offer(root);
        Double sum = 0D;
        int count = 0;
        while(!queue1.isEmpty()){
            TreeNode poll = queue1.poll();
            sum += poll.val;
            count++;
            if(poll.left != null){
                queue2.offer(poll.left);
            }
            if(poll.right != null){
                queue2.offer(poll.right);
            }
            if(queue1.isEmpty()){
                result.add(sum/count);
                queue1 = queue2;
                sum = 0D;
                count = 0;
                queue2 = new LinkedList<>();
            }
        }
        return result;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1534785.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python中获取当前项目的目录

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 今天介绍一下&#xff0c;如何在python中获取当前项目所在的目录&#xff0c;而不是运行脚本的目录。 class ProjectPaths:# 初始化时获取当前脚本的路径staticmethoddef get_script_dir():…

mysql数据库的索引管理

目录 一、索引的概述 1、索引的概念 2、索引的作用 3、索引的副作用 4、创建索引的原则依据 5、索引优化 6、索引的分类 7、数据文件与索引文件 二、管理数据库索引 1、查询索引 2、创建索引 2.1 创建普通索引 2.2 创建唯一索引 2.3 创建主键索引 2.4 创建组合…

java 方法重写

1、方法重写概述 重写发生在两个类中&#xff0c;这两个类必须有继承或实现关系。 子类中出现了和父类中一模一样的方法声明。这一模一样指的是什么&#xff1f; &#xff08;1&#xff09;方法名、返回值类型、参数&#xff08;个数、类型、顺序&#xff09;与父类一样&…

zabbix6.4报错问题汇总:zabbix server无法连接zabbix agent主机

在配置zabbix server连接本机agent时报错&#xff1a; Get value from agent failed: cannot connect to[[xxx.xxx.xxx.xxx]:10050]: [111] Connection refused 检查10050端口是否开放&#xff0c;以下三种方式都可以查看端口是否开放。 1.nc -zv <服务器IP> <端口号…

【十九】【算法分析与设计】加强训练

目录 杨辉三角 Fibonacci数列 The Biggest Water Problem 数字根&#xff1a; Digit Sum of N! 模的运算性质&#xff1a; [NOIP2005]谁拿了最多奖学金 牛牛的汉诺塔 结尾 杨辉三角 链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 时间…

嵌入式学习42-链表栈

链表栈知识体系 满增栈&#xff0c;满减栈&#xff0c;空增栈&#xff0c;空减栈 栈和队列的区别 释放P空间后&#xff0c;不要再次访问&#xff0c;会导致q 堆区的大小为10 链队列练习

windows11右键菜单改回windows10

问题 系统从Wondows10升级到了windows11&#xff0c;界面确实好看了一些&#xff0c;但是这个右键菜单让我想把电脑砸了&#xff0c;哪个设计师设计的反人类操作。 那能不能把windows11的右键菜单变回去呢&#xff0c;答案是可以的 解决步骤 按WinR打开运行输入【regedit】…

基于Springboot+Vue的医院管理系统

项目介绍 这是一个在线医院管理系统&#xff0c;使用Maven进行项目管理&#xff0c;基于springbootmybatis框架开发的项目&#xff0c;mysql底层数据库&#xff0c;前端采用VueElementPlus&#xff0c;redis缓存&#xff0c;作为初学springbootvue前后端分离架构的同学是一个很…

蓝桥杯 EDA 组 2023模拟+真题原理图解析

本文解析了标题内的原理图蓝桥杯EDA组真题&#xff0c;2021-2022 省赛真题/模拟题在上一篇文中。本文中重复或者是简单的电路节约篇幅不在赘述。 其中需要补充和计算原理图的题目解析都放在最下面 一、2023 年第十四届省赛模拟题1 1.1 Type-C 接口电路 通过 CH340N 将数据转化为…

扶贫惠农推介系统|基于jsp技术+ Mysql+Java+ B/S结构的扶贫惠农推介系统设计与实现(可运行源码+数据库+设计文档)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含java&#xff0c;ssm&#xff0c;springboot的平台设计与实现项目系统开发资源&#xff08;可…

Qt学习--界面知识点大杂烩

在开发过程中&#xff0c;通常需要打开或者保存上位机数据到本地&#xff0c;这时候就需要用到

云主机搭建与服务软件部署

文章目录 登录访问云电脑与云电脑传输文件配置ssh服务ssh连接云电脑使用scp传输文件云端服务软件部署与实现外部访问首先购买云主机,以阿里云服务器 ECS为例子,官网购买就行了,选择默认安装了windows server 2022服务器系统 登录访问云电脑 购买完成进入控制台,能看到创建…

牛客NC196 编辑距离(一)【较难 DFS/DP,动态规划,样本对应模型 Java,Go,PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/6a1483b5be1547b1acd7940f867be0da 思路 编辑距离问题 什么是两个字符串的编辑距离&#xff08;edit distance&#xff09;&#xff1f;给定字符串s1和s2&#xff0c;以及在s1上的如下操作&#xff1a;插入&…

设计模式—组合模式

定义: 组合模式&#xff08;Composite Pattern&#xff09;又称为合成模式、部分-整体模式&#xff08;Part-Whole&#xff09;&#xff0c;主要用来描述部分与整体的关系。 定义&#xff1a;将对象组合成树形结构以表示“部分-整体”的层次结构&#xff0c;使用户对单个对象和…

【华为OD机试】悄悄话花费的时间【C卷|100分】

【华为OD机试】-真题 !!点这里!! 【华为OD机试】真题考点分类 !!点这里 !! 题目描述 给定一个二叉树,每个节点上站着一个人,节点数字表示父节点到该节点传递悄悄话需要花费的时间。初始时,根节点所在位置的人有一个悄悄话想要传递给其他人,求二叉树所有节点上的人都接收…

分布式事务与分布式锁

分布式事务 我要是一条狗 这块硬骨头 理都不想理&#xff0c;但是谁让我是一名程序员 本地消息表&#xff1a;说白了就是一个记录 操作信息 存到库中 成功状态改为成功&#xff0c;失败定时任务重试调用 消息队列&#xff1a;rocketMQ 半事务的典范&#xff0c;mq…

IT部门领导的角色与责任:在挑战中塑造未来

前言 在当今快节奏的商业环境中&#xff0c;IT部门领导扮演着至关重要的角色。他们需要具备技术专长&#xff0c;同时也需要展现出卓越的领导力来有效地管理团队和应对各种挑战。 一、技术创新的引领者 1. 重要角色转变 随着信息技术的迅猛发展&#xff0c;IT部门领导已逐渐…

操作系统(第三周 第一堂)

目录 操作系统设计原则 操作系统的结构 简单结构 MS-DOS系统 ​编辑 UNIX系统 微内核 核心技术 缺点 操作系统设计原则 这一段希望大家自己可以好好看一下~~ 策略和机制的分离意味着操作系统可以进一步简化。在操作系统诞生之初&#xff0c;大家认为操作系统需要替用…

【有源码】buildroot根文件系统编译和常见问题

前言 编译好的含有QT5等工具包的buildroot根文件 仓库&#xff1a;https://gitee.com/wangyoujie11/atkboard_-linux_-driver 编译过程如下 1.下载源码&#xff0c;解压tar -vxjf xxx.tar.bz2 https://buildroot.org/ 这里以如下版本实验 2.在解压之后的buildroot-2019.02.…

Python学习:元组

Python 元组概念 Python 中的元组&#xff08;tuple&#xff09;是不可变的有序集合。它是一种数据类型&#xff0c;类似于列表&#xff08;list&#xff09;&#xff0c;但在创建后不能被修改。元组使用圆括号 () 来表示&#xff0c;其中的元素可以是任意类型&#xff0c;并且…