Capa 637. El valor promedio de un árbol binario
Dado un árbol binario no nulo, cada nodo devuelve una matriz del valor medio de los mismos.
Ejemplo 1:
entrada:
3
/ \
9 20
/ \
15 7
Salida: [3, 14.5, 11]
Explicación:
valor medio de 0 es de 3 capas, la primera capa 14.5, la segunda capa 11 se devuelvan así [3, 14.5, 11].
Nota:
valor de nodo en una gama de 32 bits con signo número entero dentro del rango.
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public List<Double> averageOfLevels(TreeNode root) {
List<Double> res = new ArrayList<>();
if (root == null) return res;
Queue<TreeNode> list = new LinkedList<>();
list.add(root);
while (list.size() != 0){
int len = list.size();
double sum = 0;
for (int i = 0; i < len; i++){
TreeNode node = list.poll();
sum += node.val;
if (node.left != null) list.add(node.left);
if (node.right != null) list.add(node.right);
}
res.add(sum/len);
}
return res;
}
}