637. Average of Levels in Binary Tree

Given a non-empty binary tree, return the average value of the nodes on each level in the form of an array.

637. <wbr>Average <wbr>of <wbr>Levels <wbr>in <wbr>Binary <wbr>Tree
class Solution {
    public List<Double> averageOfLevels(TreeNode root) {
        List<Double> result = new ArrayList<>();
        Queue<TreeNode> q = new LinkedList<>();
 
        if (root == null)
    return result;
        q.add(root);
        while (!q.isEmpty()) {
            int n = q.size();
            double sum = 0;
            for (int i = 0; i < n; i++) {
                TreeNode node = q.poll();
                sum += node.val;
                if (node.left != null) q.offer(node.left);
                if (node.right != null) q.offer(node.right);
            }
            result.add(sum / n);
        }
        return result;
    }
}
posted @ 2019-03-15 16:05  MarkLeeBYR  阅读(124)  评论(0)    收藏  举报