637. 二叉树的层平均值
难度:简单
题目描述
解题思路
普普通通的层序遍历
/*
* 637. 二叉树的层平均值
* 2020/9/14
* easy
*/
public List<Double> averageOfLevels(TreeNode root) {
List<Double> res = new LinkedList<>();
if(root == null)
return res;
Queue<TreeNode> queue = new LinkedList<>();
queue.offer(root);
while(!queue.isEmpty()) {
int size = queue.size();
double sum = 0;
int count = 0;
while(size-- > 0) {
TreeNode cur = queue.poll();
sum += cur.val;
count++;
if(cur.left != null) {
queue.offer(cur.left);
}
if(cur.right != null) {
queue.offer(cur.right);
}
}
res.add(sum/count);
}
return res;
}