LeetCode.637. 二叉树的层平均值
难度:easy
BFS轻松写意
class Solution {
public List averageOfLevels(TreeNode root) {
List ansList = new ArrayList<>();
Queue queue = new linkedList<>();
if (root == null) {
return ansList;
}
queue.offer(root);
while (!queue.isEmpty()) {
int size = queue.size();
double sum = 0;
for (int i = 0; i < size; i++) {
TreeNode tmpNode = queue.poll();
sum += (double)tmpNode.val;
if (i == size - 1) {
ansList.add(sum / size);
}
if (tmpNode.left != null) {
queue.offer(tmpNode.left);
}
if (tmpNode.right != null) {
queue.offer(tmpNode.right);
}
}
}
return ansList;
}
}



