• LeetCode_637.二叉树的层平均值


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

    示例 1:

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

    提示:

    • 节点值的范围在32位有符号整数范围内。

    C#代码

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     public int val;
     *     public TreeNode left;
     *     public TreeNode right;
     *     public TreeNode(int x) { val = x; }
     * }
     */
    public class Solution {
        public IList<double> AverageOfLevels(TreeNode root) {
            var list = new List<double>();
            if(root == null) return list;
    
            Queue<TreeNode> queue = new Queue<TreeNode>();
            queue.Enqueue(root);
    
            int height = 1;
            int count = 0;
            double sum = 0;
            TreeNode node;
    
            while(height-- > 0){
                node = queue.Dequeue();
    
                sum += node.val;
                count += 1;
    
                if(node.left != null) queue.Enqueue(node.left);
                if(node.right != null) queue.Enqueue(node.right);
    
                if(height == 0){
                    list.Add(sum / count);
                    count = 0;
                    sum = 0;
                    height = queue.Count;
                }
            }
    
            return list;
        }
    }
    
  • 相关阅读:
    Linux进程管理
    GitHub
    MySQL存储过程
    MySQL自定义函数
    MySQL运算符和内置函数
    js类型检测
    防止SQL注入的方法
    PDO数据库抽象层
    PHP操作MySQL的常用函数
    第二周
  • 原文地址:https://www.cnblogs.com/fuxuyang/p/14244726.html
Copyright © 2020-2023  润新知