Accumulate the node values of each layer and then average
Add the average value of each layer to the list Return
classSolution{
publicList<Double>averageOfLevels(TreeNode root){
// 二叉树的层序遍历List<List<Integer>> result =newArrayList<>();if(root ==null){
returnnewArrayList<>();}Queue<TreeNode> q =newLinkedList<>();
q.offer(root);List<Double> list =newArrayList<>();while(!q.isEmpty()){
int size = q.size();// list = new ArrayList<>();double sum =0;for(int i =0; i < size; i++){
TreeNode cur = q.poll();// 出队
sum += cur.val;if(cur.left !=null){
q.offer(cur.left);}if(cur.right !=null){
q.offer(cur.right);}}
sum /= size;
list.add(sum);}return list;}}