Average of Levels in Binary Tree(leetcode)
来源:互联网 发布:端口是什么 怎么查看 编辑:程序博客网 时间:2024/06/05 11:57
Average of Levels in Binary Tree
- Average of Levels in Binary Tree
- 题目
- 解析
- 解决
题目
leetcode题目
Given a non-empty binary tree, return the average value of the nodes on each level in the form of an array.
Example 1:
Input: 3 / \ 9 20 / \ 15 7Output: [3, 14.5, 11]Explanation:The average value of nodes on level 0 is 3, on level 1 is 14.5, and on level 2 is 11. Hence return [3, 14.5, 11].
Note: The range of node’s value is in the range of 32-bit signed integer.
解析
题目需要我们做的是求二叉树每层的平均数,这就需要我们用到层次遍历,一层一层遍历二叉树,得到每层相应节点的值,计算其平均值。
这样我们可以利用STL中的queue“先进先出”的特点,实现对二叉树的层次遍历,从而可以计算每层节点的平均数。
解决
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: vector<double> averageOfLevels(TreeNode* root) { vector<double> result; if (root == NULL) return result; queue<TreeNode *> tree; tree.push(root); // 判断是否完成层次遍历 while (!tree.empty()) { int s = tree.size(); // 记录该层节点个数 double sum = 0; for (int i = 0; i < s; i++) { // 遍历该层的所有节点 TreeNode * temp = tree.front(); tree.pop(); // 计算该层节点值的总和 sum += temp->val; // 为遍历下一层节点做准备 if (temp->left != NULL) { tree.push(temp->left); } if (temp->right != NULL) { tree.push(temp->right); } } // 记录该层节点的平均值 result.push_back(sum / s); } return result; }};
阅读全文
0 0
- LeetCode average Of Levels in Binary Tree
- Average of Levels in Binary Tree(leetcode)
- [Leetcode] Binary tree-- 637. Average of Levels in Binary Tree
- LeetCode 637. Average of Levels in Binary Tree
- [LeetCode]637. Average of Levels in Binary Tree
- leetcode 637. Average of Levels in Binary Tree
- LeetCode 637 : Average of Levels in Binary Tree(java)
- [LeetCode]637. Average of Levels in Binary Tree
- 【LeetCode】637 Average of Levels in Binary Tree
- 【LeetCode】637. Average of Levels in Binary Tree
- leetcode 637. Average of Levels in Binary Tree
- leetcode 637. Average of Levels in Binary Tree
- [LeetCode] 637. Average of Levels in Binary Tree
- leetcode 637. Average of Levels in Binary Tree
- <leetcode>637. Average of Levels in Binary Tree
- LeetCode 637. Average of Levels in Binary Tree
- [LeetCode] 637.Average of Levels in Binary Tree
- 637. Average of Levels in Binary Tree
- SpringMVC框架(一)
- WPF 和 UWP 中,不用设置 From 或 To,Storyboard 即拥有更灵活的动画控制
- Javaweb的博客系统
- Win7环境下tensorflow环境搭建
- python软件安装
- Average of Levels in Binary Tree(leetcode)
- JZOJ 5439. 【NOIP2017提高A组集训10.31】Calculate
- PowerDesigner设置表字符编码 utf-8
- C语言易错知识点整理
- nginx 相对 apache 比较,总结一下
- 机器学习 (一)
- golang有用的库及工具 之 fasthttp客户端 最通用最有效最简单使用方式
- 【实战】模仿设置中心
- Toast之悬浮窗(不需要权限)