思路
层次遍历

class Solution { public List<Double> averageOfLevels(TreeNode root) { List<Double> ans = new ArrayList<>(); if(root==null) return ans; Queue<TreeNode> queue = new ArrayDeque<>(); queue.offer(root); while(!queue.isEmpty()){ int count = queue.size(); int num = count; double total = 0; while(count-->0){ TreeNode node = queue.poll(); if(node==null) continue; total+=node.val; if(node.left!=null) queue.offer(node.left); if(node.right!=null) queue.offer(node.right); } ans.add(total/num); } return ans; }}