博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 637. Average of Levels in Binary Tree
阅读量:7144 次
发布时间:2019-06-29

本文共 1554 字,大约阅读时间需要 5 分钟。

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

Example 1:

Input:    3   / \  9  20    /  \   15   7Output: [3, 14.5, 11]Explanation:The average value of nodes on level 0 is 3,  on level 1 is 14.5, and on level 2 is 11. Hence return [3, 14.5, 11].

Note:

  1. The range of node's value is in the range of 32-bit signed integer.

Answer:

/** * @param {TreeNode} root * @return {number[]} */var averageOfLevels = function(root) {    if(root == null) {        return 0;    }        var queue = [];var arr = [];        queue.push(root);        while(queue.length != 0) {                var sum = 0; var count = 0;        var temp = [];        while(queue.length != 0) {            var firstNode = queue.splice(0,1)[0];            sum+= firstNode.val;                                 if(firstNode.left)                temp.push(firstNode.left);            if(firstNode.right) {                temp.push(firstNode.right);            }            count++;                }        queue = temp;        arr.push(sum/ count);    }        console.log(arr);    return arr;    };function TreeNode(val) {    this.val = val;    this.left = this.right = null;}var rootNode = new TreeNode(3);var lrNode = new TreeNode(9);var rrNode = new TreeNode(20);var lrrNode = new TreeNode(15);var rrrNode = new TreeNode(7);rrNode.right = rrrNode;rrNode.left = lrrNode;rootNode.left = lrNode;rootNode.right = rrNode;averageOfLevels(rootNode);

 

这里应用BFS的解法。网上还有一种DFS的解法不过还没有研究,就不写了。

 

转载于:https://www.cnblogs.com/gogolee/p/8126396.html

你可能感兴趣的文章
(DBA之路【二】)mysql 主流存储引擎的特点
查看>>
基于UDP协议的网络程序
查看>>
Linux常用网络工具traceroute路由扫描
查看>>
线索化二叉树
查看>>
Git命令集之十——文件移动命令
查看>>
产业融合促使未来进入一个新的商业模式中去
查看>>
关于设置http响应头connection的作用
查看>>
GCC的几个重要选项解释
查看>>
Java之注解
查看>>
PHP响应式VIP电影影视系统源码 带自动采集和会员管理系统
查看>>
iframe里弹出的层显示在整个网页上
查看>>
开源项目Bug悬赏任务
查看>>
ubuntu 和 win10 双系统安装 及 pyopengl 环境配置修改
查看>>
学习计划书
查看>>
为什么你的智能手表功能这么多,ICMAX来解答
查看>>
tor_api
查看>>
给国外电子邮箱发海外邮件用什么邮箱好?
查看>>
Connectify+Wireshark捕获手机APP的数据包
查看>>
CentOS 6.5 生产环境编译安装LNMP
查看>>
8.6 “数据库设置”服务器选项
查看>>