【LeetCode】637. 二叉树的层平均值

给定一个非空二叉树, 返回一个由每层节点平均值组成的数组.

示例 1:

输入:
    3
   / \
  9  20
    /  \
   15   7
输出: [3, 14.5, 11]
解释:
第0层的平均值是 3,  第1层是 14.5, 第2层是 11. 因此返回 [3, 14.5, 11].

注意:

  1. 节点值的范围在32位有符号整数范围内。
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public List averageOfLevels(TreeNode root) {

        List inList = new LinkedList<>();
        Queue queue = new LinkedList<>();

        if(root == null){
            return inList;
        }

        queue.offer(root);

        while(!queue.isEmpty()){
            Double avg = 0.0;
            int size = queue.size();

            for(int i=0;i

在java5中新增加了java.util.Queue接口,用以支持队列的常见操作。该接口扩展了java.util.Collection接口。

LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用

//添加元素
queue.offer()
//移出元素
queue.poll()
//使用而不移出该元素
queue.peek()

 

你可能感兴趣的:(LeetCode)