跳至主要內容

637. 二叉树的层平均值

T4mako算法深度优先广度优先二叉树小于 1 分钟

637. 二叉树的层平均值

简单

题目描述open in new window

解题思路:使用队列,层次遍历获取平均值

class Solution {

    List<Double> res = new ArrayList<>();

    public List<Double> averageOfLevels(TreeNode root) {
		List<TreeNode> arr = new ArrayList<>();
		arr.add(root);
		avg(arr);
		return res;
    }
	
	
	public void avg(List<TreeNode> list) {
		if(list.size() == 0) return;
		double sum = 0;
		List<TreeNode> arr = new ArrayList<>();
		for(int i = 0;i < list.size();i++) {
			TreeNode node = list.get(i);
			sum += node.val;
			if(node.left != null) arr.add(node.left);
			if(node.right != null) arr.add(node.right);
		}
		res.add(sum / list.size());
		avg(arr);
	}
}
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.5