标签:ret sem div lan ++ i++ 二叉树 treenode each
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].
题目含义:求二叉树中每一层的平均值
1 public List<Double> averageOfLevels(TreeNode root) { 2 List<Double> result = new ArrayList<>(); 3 Queue<TreeNode> stack = new LinkedList<>(); 4 stack.add(root); 5 while (!stack.isEmpty()) 6 { 7 int n = stack.size(); 8 Double sum = 0.0; 9 for (int i=0;i<n;i++) 10 { 11 TreeNode node = stack.poll(); 12 sum += node.val; 13 if (node.left!= null) stack.add(node.left); 14 if (node.right!=null) stack.add(node.right); 15 } 16 result.add(sum/n); 17 } 18 return result; 19 }
637. Average of Levels in Binary Tree
标签:ret sem div lan ++ i++ 二叉树 treenode each
原文地址:http://www.cnblogs.com/wzj4858/p/7710742.html