Skip to content

Commit 9c2807c

Browse files
committed
add 637
1 parent 21b339a commit 9c2807c

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import java.util.ArrayList;
2+
import java.util.Collections;
3+
import java.util.List;
4+
import java.util.LinkedList;
5+
import java.util.Queue;
6+
7+
class TreeNode {
8+
int val;
9+
TreeNode left;
10+
TreeNode right;
11+
TreeNode() {}
12+
TreeNode(int val) { this.val = val; }
13+
TreeNode(int val, TreeNode left, TreeNode right) {
14+
this.val = val;
15+
this.left = left;
16+
this.right = right;
17+
}
18+
}
19+
20+
class Solution {
21+
public List<Double> averageOfLevels(TreeNode root) {
22+
if (root == null) {
23+
return Collections.emptyList();
24+
}
25+
List<Double> answer = new ArrayList<Double>();
26+
27+
double sum = 0;
28+
Queue<TreeNode> queue = new LinkedList<TreeNode>();
29+
queue.add(root);
30+
31+
while(!queue.isEmpty()) {
32+
int size = queue.size();
33+
34+
for (int i=0; i<size; i++) {
35+
TreeNode node = queue.poll();
36+
sum += node.val;
37+
38+
if (node.left != null) {
39+
queue.add(node.left);
40+
}
41+
if (node.right != null) {
42+
queue.add(node.right);
43+
}
44+
}
45+
answer.add(sum / size);
46+
sum = 0;
47+
}
48+
49+
return answer;
50+
}
51+
}

0 commit comments

Comments
 (0)