当前位置: 代码迷 >> 综合 >> LeetCode-Java-637. Average of Levels in Binary Tree
  详细解决方案

LeetCode-Java-637. Average of Levels in Binary Tree

热度:89   发布时间:2023-12-16 09:01:30.0

题目

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   7
Output: [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:
The range of node's value is in the range of 32-bit signed integer.

代码

/*** 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) {
     ArrayList<Double> list = new ArrayList<Double>();LinkedList<TreeNode> tree = new LinkedList<TreeNode>();tree.add(root);double sum = 0;while(!tree.isEmpty()){
     int n = tree.size();sum = 0;for(int i=0;i<n;i++){
     TreeNode node = tree.removeFirst();sum+=node.val;if(node.left!=null){
     tree.addLast(node.left);}if(node.right!=null){
     tree.addLast(node.right);}}list.add(sum/n);}return list;} } 
  相关解决方案