LeetCode 637 Average of Levels in Binary Tree(二叉树层序遍历)
来源:互联网 发布:优化设计 编辑:程序博客网 时间:2024/06/05 10:44
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.
题目大意:给出一棵非空的二叉树,求它每一层节点的平均值。
解题思路:非常显然的一道层序遍历。递归版不太好写,没有写出来。
代码如下:
/** * 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) { averageOfLevels(root, ans); return ans; }private: queue<TreeNode*> que; vector<double> ans; void averageOfLevels(TreeNode* root, vector<double>& ans) { if(root == nullptr) return ; que.push(root); TreeNode* tmp; int cur = 0; while(cur < que.size()) { int last = que.size(); double db = 0.0; while(cur < last) { tmp = que.front(); db += tmp->val; que.pop(); if(tmp->left) que.push(tmp->left); if(tmp->right) que.push(tmp->right); cur++; } cur = 0; ans.push_back(db / last); } }};
阅读全文
0 0
- LeetCode 637 Average of Levels in Binary Tree(二叉树层序遍历)
- LeetCode 637 : Average of Levels in Binary Tree(java)
- LeetCode average Of Levels in Binary Tree
- Average of Levels in Binary Tree(leetcode)
- 【LeetCode】637 Average of Levels in Binary Tree
- [Leetcode] Binary tree-- 637. Average of Levels in Binary Tree
- 【二叉树】637. Average of Levels in Binary Tree
- leetcode 637. Average of Levels in Binary Tree 广度优先遍历BFS
- leetcode 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
- 数据库学习(三)----基础查询和关联查询
- Stones
- 使用python在图片中如何添加文字?
- RH124-第一节-走进Linux以及基本操作
- UVA-10935Throwing cards away I
- LeetCode 637 Average of Levels in Binary Tree(二叉树层序遍历)
- TypeError: newRawData.forEach is not a function问题解决
- 二叉树的深度以及判断平衡二叉树
- Segmentfault 内容精选
- 浅谈ZKW线段树
- 用递归写最小钱币数
- H
- java 将list按照指定数量分成小list
- 暑期学习记录02