File tree 2 files changed +25
-21
lines changed
main/java/com/fishercoder/solutions
test/java/com/fishercoder
2 files changed +25
-21
lines changed Original file line number Diff line number Diff line change 6
6
import java .util .Queue ;
7
7
8
8
/**
9
+ * 513. Find Bottom Left Tree Value
10
+ *
9
11
* Given a binary tree, find the leftmost value in the last row of the tree.
10
12
11
13
Example 1:
35
37
*/
36
38
public class _513 {
37
39
38
- public int findBottomLeftValue (TreeNode root ) {
39
- Queue <TreeNode > queue = new LinkedList <>();
40
- queue .offer (root );
41
- TreeNode leftMost = root ;
42
- while (!queue .isEmpty ()) {
43
- int size = queue .size ();
44
- for (int i = 0 ; i < size ; i ++) {
45
- TreeNode curr = queue .poll ();
46
- if (i == 0 ) {
47
- leftMost = curr ;
48
- }
49
- if (curr .left != null ) {
50
- queue .offer (curr .left );
51
- }
52
- if (curr .right != null ) {
53
- queue .offer (curr .right );
40
+ public static class Solution1 {
41
+ public int findBottomLeftValue (TreeNode root ) {
42
+ Queue <TreeNode > queue = new LinkedList <>();
43
+ queue .offer (root );
44
+ TreeNode leftMost = root ;
45
+ while (!queue .isEmpty ()) {
46
+ int size = queue .size ();
47
+ for (int i = 0 ; i < size ; i ++) {
48
+ TreeNode curr = queue .poll ();
49
+ if (i == 0 ) {
50
+ leftMost = curr ;
51
+ }
52
+ if (curr .left != null ) {
53
+ queue .offer (curr .left );
54
+ }
55
+ if (curr .right != null ) {
56
+ queue .offer (curr .right );
57
+ }
54
58
}
55
59
}
60
+ return leftMost .val ;
56
61
}
57
- return leftMost .val ;
58
62
}
59
63
}
Original file line number Diff line number Diff line change 12
12
* Created by fishercoder on 1/15/17.
13
13
*/
14
14
public class _513Test {
15
- private static _513 test ;
15
+ private static _513 . Solution1 solution1 ;
16
16
private static int expected ;
17
17
private static int actual ;
18
18
private static TreeNode root ;
19
19
20
20
@ BeforeClass
21
21
public static void setup () {
22
- test = new _513 ();
22
+ solution1 = new _513 . Solution1 ();
23
23
}
24
24
25
25
@ Before
@@ -35,7 +35,7 @@ public void test1() {
35
35
root .left = new TreeNode (1 );
36
36
root .right = new TreeNode (3 );
37
37
expected = 1 ;
38
- actual = test .findBottomLeftValue (root );
38
+ actual = solution1 .findBottomLeftValue (root );
39
39
assertEquals (expected , actual );
40
40
41
41
}
@@ -50,7 +50,7 @@ public void test2() {
50
50
root .right .right = new TreeNode (6 );
51
51
root .right .left .left = new TreeNode (7 );
52
52
expected = 7 ;
53
- actual = test .findBottomLeftValue (root );
53
+ actual = solution1 .findBottomLeftValue (root );
54
54
assertEquals (expected , actual );
55
55
}
56
56
}
You can’t perform that action at this time.
0 commit comments