File tree Expand file tree Collapse file tree 2 files changed +76
-0
lines changed
main/java/com/smlnskgmail/jaman/leetcodejava/medium
test/java/com/smlnskgmail/jaman/leetcodejava/medium Expand file tree Collapse file tree 2 files changed +76
-0
lines changed Original file line number Diff line number Diff line change
1
+ package com .smlnskgmail .jaman .leetcodejava .medium ;
2
+
3
+ import com .smlnskgmail .jaman .leetcodejava .support .TreeNode ;
4
+
5
+ import java .util .*;
6
+
7
+ // https://leetcode.com/problems/binary-tree-right-side-view/
8
+ public class BinaryTreeRightSideView {
9
+
10
+ private final TreeNode input ;
11
+
12
+ public BinaryTreeRightSideView (TreeNode input ) {
13
+ this .input = input ;
14
+ }
15
+
16
+ public List <Integer > solution () {
17
+ if (input == null ) {
18
+ return Collections .emptyList ();
19
+ }
20
+ List <Integer > result = new ArrayList <>();
21
+ Deque <TreeNode > deque = new LinkedList <>();
22
+ deque .add (input );
23
+ while (!deque .isEmpty ()) {
24
+ int size = deque .size ();
25
+ while (size != 0 ) {
26
+ TreeNode node = deque .poll ();
27
+ if (node .left != null ) {
28
+ deque .addLast (node .left );
29
+ }
30
+ if (node .right != null ) {
31
+ deque .addLast (node .right );
32
+ }
33
+ if (size == 1 ) {
34
+ result .add (node .val );
35
+ }
36
+ size --;
37
+ }
38
+ }
39
+ return result ;
40
+ }
41
+
42
+ }
Original file line number Diff line number Diff line change
1
+ package com .smlnskgmail .jaman .leetcodejava .medium ;
2
+
3
+ import com .smlnskgmail .jaman .leetcodejava .support .TreeNode ;
4
+ import org .junit .Test ;
5
+
6
+ import java .util .List ;
7
+
8
+ import static org .junit .Assert .assertEquals ;
9
+
10
+ public class BinaryTreeRightSideViewTest {
11
+
12
+ @ Test
13
+ public void defaultTest () {
14
+ assertEquals (
15
+ List .of (1 , 3 , 4 ),
16
+ new BinaryTreeRightSideView (
17
+ new TreeNode (
18
+ 1 ,
19
+ new TreeNode (
20
+ 2 ,
21
+ null ,
22
+ new TreeNode (5 )
23
+ ),
24
+ new TreeNode (
25
+ 3 ,
26
+ null ,
27
+ new TreeNode (4 )
28
+ )
29
+ )
30
+ ).solution ()
31
+ );
32
+ }
33
+
34
+ }
You can’t perform that action at this time.
0 commit comments