手机网站设计公司只找亿企邦app开发工具
描述 :
给定一个非空二叉树的根节点 root
, 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5
以内的答案可以被接受。
题目 :
637. 二叉树的层平均值
分析 :
这个题和前面的几个一样,只不过是每层都先将元素保存下来,最后求平均就行了:
解析 :
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val = val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val = val;* this.left = left;* this.right = right;* }* }*/
class Solution {public List<Double> averageOfLevels(TreeNode root) {List<Double> list = new ArrayList<>();if(root == null){return list;}Queue<TreeNode> queue = new LinkedList<>();queue.add(root);while(!queue.isEmpty()){int size = queue.size();double num = 0.0;for(int i = 0;i < size;i++){TreeNode temp = queue.remove();num += temp.val;if(temp.left != null){queue.add(temp.left);}if(temp.right != null){queue.add(temp.right);}}list.add(num/size); }return list;}
}