File tree Expand file tree Collapse file tree 1 file changed +51
-0
lines changed Expand file tree Collapse file tree 1 file changed +51
-0
lines changed Original file line number Diff line number Diff line change
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
+ }
You can’t perform that action at this time.
0 commit comments