[LeetCode]637. Average of Levels in Binary Tree
来源:互联网 发布:米兔源码 编辑:程序博客网 时间:2024/05/17 05:04
[LeetCode]637. Average of Levels in Binary Tree
题目描述
思路
实际上是树的层次遍历
递归写法参数中加入层数即可
代码
#include <iostream>#include <vector>using namespace std;struct TreeNode { int val; TreeNode* left; TreeNode* right; TreeNode(int x) : val(x), left(NULL), right(NULL) {}};class Solution {public: void averageOfLevels(TreeNode* root, int level, vector<double>& sum, vector<double>& count) { if (root == NULL) return; if (level < sum.size()) { sum[level] += root->val; count[level] += 1; } else { sum.push_back(root->val); count.push_back(1); } averageOfLevels(root->left, level + 1, sum, count); averageOfLevels(root->right, level + 1, sum, count); } vector<double> averageOfLevels(TreeNode* root) { vector<double> sum, count; averageOfLevels(root, 0, sum, count); vector<double> res(sum.size(), 0); for (int i = 0; i < res.size(); ++i) res[i] = sum[i] / count[i]; return res; }};int main() { vector<double> res; TreeNode* t1 = new TreeNode(3); TreeNode* t2 = new TreeNode(9); TreeNode* t3 = new TreeNode(20); TreeNode* t4 = new TreeNode(15); TreeNode* t5 = new TreeNode(7); t1->left = t2; t1->right = t3; t2->left = t4; t3->right = t5; Solution s; res = s.averageOfLevels(t1); for (double num : res) cout << num << ' '; cout << endl; system("pause");}
阅读全文
0 0
- [Leetcode] Binary tree-- 637. Average of Levels in Binary Tree
- LeetCode average Of Levels in Binary Tree
- Average of Levels in Binary Tree(leetcode)
- 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
- LeetCode 637. Average of Levels in Binary Tree
- [LeetCode] 637.Average of Levels in Binary Tree
- 637. Average of Levels in Binary Tree
- 637. Average of Levels in Binary Tree
- 637. Average of Levels in Binary Tree
- 私の故郷
- shell实现彩色进度条
- 下拉式终端:Guake
- 判断两个链表是否相交(考虑带环与不带环)
- day04之链表不带环相交+带环相交问题+fork函数输出几个短线
- [LeetCode]637. Average of Levels in Binary Tree
- 设计类不能被继承 、只能在堆上创建对象、只能在栈上创建对象。
- POJ 1005--I Think I Need a Houseboat
- static关键字注意事项_对"静态只能访问静态"的理解_(注意指的是一个类中)
- 关于 小米华为手机 不能正确安装游戏包的问题
- 服务器的种类
- Python读取excel
- zk 笔记
- 关于 Exception: An invalid XML character (Unicode: 0x0) was found