当前位置: 首页 > 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)一次全部读出一层的节点,并进行计算平均值。

http://www.lryc.cn/news/493946.html

相关文章:

  • 【前端】Next.js 服务器端渲染(SSR)与客户端渲染(CSR)的最佳实践
  • 路径规划之启发式算法之一:A-Star(A*)算法
  • Android复习代码1-4章
  • 【问题】webdriver.Chrome()设置参数executable_path报不存在
  • win10系统安装docker-desktop
  • 小程序-基于java+SpringBoot+Vue的乡村研学旅行平台设计与实现
  • 组件A底部栏(position: fixed )事件使用$emit更新内容失败bug解决
  • 数据结构——排序第三幕(深究快排(非递归实现)、快排的优化、内省排序,排序总结)超详细!!!!
  • C++的类功能整合
  • 《String类》
  • 【docker】docker的起源与容器的由来、docker容器的隔离机制
  • Window 安装 Nginx
  • replace (regexp|substr, newSubstr|function)替换字符串中的指定部分
  • 【ROS2】Ubuntu22.04安装ROS humble
  • cesium 3Dtiles变量
  • 配置泛微e9后端开发环境
  • 【Stable Diffusion】安装教程
  • USB Type-C一线通扩展屏:多场景应用,重塑高效办公与极致娱乐体验
  • 【力扣】541.反转字符串2
  • 什么是防抖与节流
  • springboot vue 开源 会员收银系统 (12)购物车关联服务人员 订单计算提成
  • FFmpeg 推流给 FreeSWITCH
  • .npmrc文件的用途
  • C++游戏开发入门:如何从零开始实现自己的游戏项目?
  • Redis设计与实现第16章 -- Sentinel 总结1(初始化、主从服务器获取信息、发送信息、接收信息)
  • Windows10+VirtualBox+Ubuntu:安装虚拟机VirtualBox,虚拟机中安装Ubuntu
  • Torchtune在AMD GPU上的使用指南:利用多GPU能力进行LLM微调与扩展
  • C底层 函数栈帧
  • 【模块一】kubernetes容器编排进阶业务容器化案例
  • 可视化建模以及UML期末复习篇----相关软件安装