637 Average of Levels in Binary Tree
637 Average of Levels in Binary Tree // Double sum = 0.0; not int sum = 0; class Solution { public List<Double> averageOfLevels(TreeNode root) { Queue<TreeNode> queue = new LinkedList<>(); List<Double> result = new ArrayList<>(); queue.offer(root); while(!queue.isEmpty()){ int size = queue.size(); Double sum = 0.0; // Double sum = 0.0; not int sum = 0; for(int i = 0; i < size; i++){ TreeNode cur = queue.poll(); sum += cur.val; if(cur.left != null) queue.offer(cur.left); if(cur.right != null) queue.offer(cur.right); } result.add(sum / size); } return result; } }
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 7
Output: [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].
posted on 2018-08-09 17:40 猪猪🐷 阅读(94) 评论(0) 收藏 举报
浙公网安备 33010602011771号