Java aplicación LeetCode capa media (a través del árbol) árbol binario 637

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;
    }
}
Liberadas 1693 artículos originales · ganado elogios 30000 + · vistas 3,34 millones +

Supongo que te gusta

Origin blog.csdn.net/a1439775520/article/details/105247700
Recomendado
Clasificación