zoukankan      html  css  js  c++  java
  • 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<Double> averageOfLevels(TreeNode root) {
            List<Double> returnList = new ArrayList<Double> () ;
            List<TreeNode> aver = new ArrayList<TreeNode>();
            aver.add(root);
            return averNum(returnList, aver);
        }
        public List<Double> averNum(List<Double> returnList, List<TreeNode> aver)
        {
            List<TreeNode> tmp = new ArrayList<TreeNode>();
            double tmpNum = 0;
            int count = 0;
            if(aver.size() == 0)
            {
                return returnList;
            }
            for(int i = 0; i < aver.size(); i++)
            {
                tmpNum += (double)aver.get(i).val;
                count++;
                if(aver.get(i).left != null)
                {
                    tmp.add(aver.get(i).left);
                }
                if(aver.get(i).right != null)
                {
                    tmp.add(aver.get(i).right);
                }
            }
            double tmpAver = tmpNum/count;
            returnList.add(tmpAver);
            return averNum(returnList, tmp);
        }
    }  

    对,用队列更好一点!!!

  • 相关阅读:
    Python阶段复习
    Python阶段复习
    Python学习笔记
    Python爬虫学习
    Python爬虫学习
    Python学习笔记
    史上最全的Maven Pom文件标签详解
    css3 animation动画技巧
    常用的sass编译库
    compass做雪碧图
  • 原文地址:https://www.cnblogs.com/Duancf/p/12404471.html
Copyright © 2011-2022 走看看