当前位置: 首页 > news >正文

力扣637. 二叉树的层平均值

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



提示:

  • 树中节点数量在 [1, 104] 范围内
  • -231 <= Node.val <= 231 - 1

代码:

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:vector<double> averageOfLevels(TreeNode* root) {vector<double> res;queue<TreeNode*> DS;int cnt;double sum;if(root == nullptr) return res;DS.push(root);while(!DS.empty()){sum = 0;cnt = DS.size();for(int i = 0; i < cnt; i++){TreeNode* p = DS.front();DS.pop();sum += p->val;if(p->right != nullptr){DS.push(p->right);}if(p->left != nullptr){DS.push(p->left);}}res.push_back(sum / cnt);}return res;}
};

解题思路:

(1)使用广度优先搜索。

(2)一次全部读出一层的节点,并进行计算平均值。

相关文章:

力扣637. 二叉树的层平均值

给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。 提示&#xff1a; 树中节点数量在 [1, 104] 范围内-231 < Node.val < 231 - 1 代码&#xff1a; /*** Definition for a binary tree node.* stru…...

【前端】Next.js 服务器端渲染(SSR)与客户端渲染(CSR)的最佳实践

关于Next.js 服务器端渲染&#xff08;SSR&#xff09;与客户端渲染&#xff08;CSR&#xff09;的实践内容方面&#xff0c;我们按下面几点进行阐述。 1. 原理 服务器端渲染 (SSR): 在服务器上生成完整的HTML页面&#xff0c;然后发送给客户端。这使得用户在首次访问时能够…...

路径规划之启发式算法之一:A-Star(A*)算法

A*算法是一种启发式搜索算法&#xff0c;常用于解决路径规划问题。 一、A*算法的定义与原理 A*算法是一种用于在图形或网格中查找最短路径的算法。它在搜索过程中综合考虑了每个节点的实际距离&#xff08;g值&#xff09;和预估距离&#xff08;h值&#xff09;&#xff0c;以…...

Android复习代码1-4章

public class RudioButton extends AppCompatActivity {Overrideprotected void onCreate(Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_rudio_button);// 找到RadioGroup和TextView的实例RadioGroup radioGrou…...

【问题】webdriver.Chrome()设置参数executable_path报不存在

场景1: 标红报错unresolved reference executable_path 场景2: 执行报错TypeError: __init__() got an unexpected keyword argument executable_path 原因&#xff1a; 上述两种场景是因为selenium4开始不再支持某些初始化参数。比如executable_path 解决&#xff1a; 方案…...

win10系统安装docker-desktop

1、开启Hyper-v ———————————————— Hyper-V 是微软提供的一种虚拟化技术&#xff0c;它允许你在同一台物理计算机上运行多个独立的操作系统实例。这种技术主要用于开发、测试、以及服务器虚拟化等领域。 —————————————————————— &#…...

小程序-基于java+SpringBoot+Vue的乡村研学旅行平台设计与实现

项目运行 1.运行环境&#xff1a;最好是java jdk 1.8&#xff0c;我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境&#xff1a;IDEA&#xff0c;Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境&#xff1a;Tomcat 7.x,8.x,9.x版本均可 4.硬件环境&#xff1a…...

组件A底部栏(position: fixed )事件使用$emit更新内容失败bug解决

今天遇到一个很离奇的bug&#xff0c;记录一下 问题&#xff1a;在组件内底部栏使用$emit触发按钮事件但打印出来的值是初始化的值&#xff0c;更新的值被重置导致更新失败 原因&#xff1a;组件内底部使用了 position: fixed; 固定&#xff0c; 导致组件内插槽 this 与 保存按…...

数据结构——排序第三幕(深究快排(非递归实现)、快排的优化、内省排序,排序总结)超详细!!!!

文章目录 前言一、非递归实现快排二、快排的优化版本三、内省排序四、排序算法复杂度以及稳定性的分析总结 前言 继上一篇博客基于递归的方式学习了快速排序和归并排序 今天我们来深究快速排序&#xff0c;使用栈的数据结构非递归实现快排&#xff0c;优化快排&#xff08;三路…...

C++的类功能整合

1. 类的基本概念 类是面向对象编程的核心&#xff0c;它封装了数据和操作数据的函数。 #include <iostream> using namespace std;class MyClass { public:int publicData;void publicFunction() {cout << "Public function" << endl;}private:i…...

《String类》

目录 一、定义与概述 二、创建字符串对象 2.1 直接赋值 2.2 使用构造函数 三、字符串的不可变性 四、常用方法 4.1 String对象的比较 4.1.1 比较是否引用同一个对象 4.1.2 boolean equals(Object anObject)方法&#xff1a;按照字典序比较 4.1.3 int compareTo(Strin…...

【docker】docker的起源与容器的由来、docker容器的隔离机制

Docker 的起源与容器的由来 1. 虚拟机的局限&#xff1a;容器的需求萌芽 在 Docker 出现之前&#xff0c;开发和部署软件主要依赖虚拟机&#xff08;VMs&#xff09;&#xff1a; 虚拟机通过模拟硬件运行操作系统&#xff0c;每个应用程序可以运行在自己的独立环境中。虽然虚…...

Window 安装 Nginx

参考链接 Windows 环境nginx安装使用及目录结构详解_windows 安装nginx-CSDN博客 Nginx 安装及配置教程&#xff08;Windows&#xff09;【安装】_nginx下载安装-CSDN博客 安装 1&#xff09;下载 nginx: download 2&#xff09;解压 3&#xff09;启动 3.1&#xff09;方…...

replace (regexp|substr, newSubstr|function)替换字符串中的指定部分

replace 方法用于替换字符串中的指定部分。它可以接受一个子字符串或正则表达式作为第一个参数&#xff0c;第二个参数是替换的内容。 用法示例 基本替换 let str "Hello, world!"; let newStr str.replace("world", "everyone"); console.lo…...

【ROS2】Ubuntu22.04安装ROS humble

一. ROS简介 1.1 什么是ROS ROS 是一个适用于机器人的开源的元操作系统。它提供了操作系统应有的服务&#xff0c;包括硬件抽象&#xff0c;底层设备控制&#xff0c;常用函数的实现&#xff0c;进程间消息传递&#xff0c;以及包管理。ROS的核心思想就是将机器人的软件功能做…...

cesium 3Dtiles变量

原本有一个变亮的属性luminanceAtZenith&#xff0c;但是新版本的cesium没有这个属性了。于是 let lightColor 3.0result._customShader new this.ffCesium.Cesium.CustomShader({fragmentShaderText:void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial mate…...

配置泛微e9后端开发环境

配置泛微e9的后端开发环境 1.安装jdk1.8&#xff08;请自行安装并设置环境变量&#xff09; 2.将服务器上的WEARVER文件夹拷贝到开发环境下(其中要包含ecology和Resin目录) 3.通过idea创建一个基础Java项目,将jdk设置为1.8 4.添加依赖,需要将3个文件夹的所有jar包添加到项目中…...

【Stable Diffusion】安装教程

目录 一、python 安装教程 二、windows cuda安装教程 三、Stable Diffusion下载 四、Stable Diffusion部署&#xff08;重点&#xff09; 一、python 安装教程 &#xff08;1&#xff09;第一步下载 打开python下载页面&#xff0c;找到python3.10.9&#xff0c;点击右边…...

USB Type-C一线通扩展屏:多场景应用,重塑高效办公与极致娱乐体验

在追求高效与便捷的时代&#xff0c;启明智显USB Type-C一线通扩展屏方案正以其独特的优势&#xff0c;成为众多职场人士、娱乐爱好者和游戏玩家的首选。这款扩展屏不仅具备卓越的性能和广泛的兼容性&#xff0c;更能在多个应用场景中发挥出其独特的价值。 USB2.0显卡&#xff…...

【力扣】541.反转字符串2

问题描述 思路解析 每当字符达到2*k的时候&#xff0c;判断&#xff0c;同时若剩余字符>k,只对前k个进行判断&#xff08;这是重点&#xff09;因为字符串是不可变变量&#xff0c;所以将其转化为字符串数组&#xff0c;最后才将结果重新转变为字符串 字符串->字符数组 …...

系统稳定性测试利器:Roast烤机工具原理与实践指南

1. 项目概述&#xff1a;一个为“烤”而生的开源工具最近在折腾一些自动化任务时&#xff0c;发现了一个挺有意思的开源项目&#xff0c;叫sumleo/roast。光看名字&#xff0c;你可能会联想到“烤肉”&#xff0c;但在程序员的世界里&#xff0c;这个“roast”可不是让你去烧烤…...

数学竞赛资源合集

《高中数学•竞赛教程》四册(第三版) 文件大小: 1.1GB内容特色: 四册高清笔记真题拆解&#xff0c;省队教练亲授适用人群: 想一年冲省一的高一高二竞赛党核心价值: 刷完这套&#xff0c;一试二试不再丢分下载链接: https://pan.quark.cn/s/7a64da5c8d8d 浙大优学-高中数学竞赛…...

PyTorch深度学习资源大全:如何快速找到最佳教程和项目库的终极指南

PyTorch深度学习资源大全&#xff1a;如何快速找到最佳教程和项目库的终极指南 【免费下载链接】the-incredible-pytorch The Incredible PyTorch: a curated list of tutorials, papers, projects, communities and more relating to PyTorch. 项目地址: https://gitcode.c…...

Flag MCP:终结AI编程猜测循环,实现人类在环的精准控制

1. 项目概述&#xff1a;当AI助手遇到“选择困难症”在AI辅助编程的日常里&#xff0c;我猜你和我一样&#xff0c;都经历过类似的场景&#xff1a;你让AI助手去实现一个功能&#xff0c;比如“给这个用户列表加个搜索框”&#xff0c;然后满怀期待地等着。结果它吭哧吭哧写了一…...

软件测试十年老兵自述:从月薪3K到年薪50W的跃迁密码

一个Bug改变的人生轨迹十年前的那个下午&#xff0c;我还记得格外清晰。作为某外包公司的“点点点”工程师&#xff0c;我机械地对着一个后台管理系统重复着测试用例。月薪3000&#xff0c;坐标二线城市&#xff0c;每天的工作就是执行别人写好的用例&#xff0c;发现Bug就提交…...

ARM7TDMI AHB Wrapper设计与时钟门控技术解析

1. ARM7TDMI AHB Wrapper架构概述在嵌入式处理器设计中&#xff0c;总线接口单元&#xff08;BIU&#xff09;作为处理器核与系统总线之间的桥梁&#xff0c;其设计质量直接影响整个系统的性能和可靠性。ARM7TDMI处理器采用的AHB Wrapper设计&#xff0c;通过精妙的时钟控制和状…...

ChatGPT Plus值不值得买?——从服务器响应延迟、上下文长度、并发请求上限到插件可用性,11维硬指标逐项打分

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ChatGPT Plus值不值得买&#xff1f; ChatGPT Plus 以 $20/月的订阅费提供 GPT-4 级别响应、优先访问高峰时段、更长上下文窗口&#xff08;最高 32K tokens&#xff09;及图像/文件解析能力。但是否值…...

PyQt5实战:从Designer拖拽到打包exe,手把手打造你的第一个多页面桌面应用

PyQt5实战&#xff1a;从Designer拖拽到打包exe&#xff0c;手把手打造你的第一个多页面桌面应用 在数字化浪潮席卷各行各业的今天&#xff0c;图形用户界面&#xff08;GUI&#xff09;开发已成为程序员必备技能之一。而PyQt5作为Python最强大的GUI框架&#xff0c;凭借其丰富…...

Perplexity如何秒级定位IEEE顶会论文?:2024最新实测验证的7步精准检索法

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Perplexity如何秒级定位IEEE顶会论文&#xff1f; Perplexity 是一款基于大语言模型的实时搜索增强工具&#xff0c;其核心优势在于将语义理解与权威学术数据库&#xff08;如 IEEE Xplore、ACM DL、ar…...

拒绝纸上谈兵!深度拆解 hello-agents:从零开始构建你的第一个智能体 (AI Agent)

发布日期&#xff1a; 2026-02-10标签&#xff1a; #AIAgent #智能体 #Datawhale #大模型 #Python #人工智能入门一、 引言如果说 2024 年是大模型的元年&#xff0c;那么 2026 年则是 AI Agent&#xff08;智能体&#xff09; 的应用爆发年。单纯的对话已经无法满足需求&#…...