637. Average of Levels in Binary Tree
来源:互联网 发布:淘宝客在哪里参加 编辑:程序博客网 时间:2024/05/16 08:47
637. Average of Levels in Binary Tr
DescriptionHintsSubmissionsDiscussSolution
DiscussPick One
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.
题意:
求一个二叉树每层的平均值
算法思路:
我首先想到的是按层次遍历的方法,用到两个队列
首先在queue中添加根节点,queue的size就是该层节点的数量
对每层的节点进行一个循环
出队一个节点,求和,把他的左右子树进入临时的temp队列
循环结束之后temp队列中就是当前层节点的所有子节点,所以这是把queue = temp继续循环
每次for循环结束求一个平均值,放到最后的结果list中
代码:
package easy;import java.util.ArrayList;import java.util.LinkedList;import java.util.List;import java.util.Queue;public class AverageofLevelsinBinaryTree {public List<Double> averageOfLevels(TreeNode root) { List<Double> result = new ArrayList<>(); Queue<TreeNode> queue = new LinkedList<>(); queue.add(root); while(!queue.isEmpty()){ long sum = 0; long size = queue.size(); Queue<TreeNode> temp = new LinkedList<>(); for(int i=0; i<size; i++){ TreeNode treeNode = queue.remove(); sum += treeNode.val; if(treeNode.left != null){ temp.add(treeNode.left); } if(treeNode.right != null){ temp.add(treeNode.right); } } queue = temp; result.add(sum * 1.0 / size); } return result; }public class TreeNode {int val;TreeNode left;TreeNode right;TreeNode(int x) {val = x;}}}
阅读全文
0 0
- 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
- 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
- 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
- 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
- 637. Average of Levels in Binary Tree
- [Leetcode] Binary tree-- 637. Average of Levels in Binary Tree
- jsp/html中一个<div>悬浮在另一个悬浮的<div>之上------z-index设置
- 四种DC的用法
- 查看linux日志
- MyBatis @param注解参数类型错误异常
- Android 显示和隐藏软键盘_亲测有效
- 637. Average of Levels in Binary Tree
- Hibernate分页
- SLAM的扫盲文章收集
- UGUI ScrollRect滑动居中CenterOnChild实现(修改)
- c++函数调用到底是如何编译的!
- js闭包
- AB1601 PWM模块
- Selenium环境搭建,谷歌浏览器遇到的问题
- 关于@transactional注解的用处与意义