File tree Expand file tree Collapse file tree 3 files changed +11
-21
lines changed
exercises/practice/flatten-array Expand file tree Collapse file tree 3 files changed +11
-21
lines changed Original file line number Diff line number Diff line change 66 " aadityakulkarni" ,
77 " FridaTveit" ,
88 " jackattack24" ,
9+ " jagdish-15" ,
910 " jmrunkle" ,
1011 " jtigger" ,
1112 " kytrinyx" ,
Original file line number Diff line number Diff line change 11import java .util .ArrayList ;
2- import java .util .Collections ;
32import java .util .List ;
43
5- final class Flattener {
4+ class Flattener {
65
7- List flatten (final List nestedList ) {
8- if (nestedList .isEmpty ()) {
9- return new ArrayList <>();
10- } else {
11- final List result = new ArrayList ();
12-
13- final Object head = nestedList .get (0 );
14- final List tail = nestedList .subList (1 , nestedList .size ());
15-
16- if (head instanceof List ) {
17- result .addAll (flatten ((List ) head ));
18- } else {
19- result .add (head );
6+ List <Object > flatten (List <?> list ) {
7+ List <Object > flattenedList = new ArrayList <>();
8+ for (Object element : list ) {
9+ if (element instanceof List <?> listAsElement ) {
10+ flattenedList .addAll (flatten (listAsElement ));
11+ } else if (element != null ) {
12+ flattenedList .add (element );
2013 }
21-
22- result .addAll (flatten (tail ));
23- result .removeAll (Collections .singleton (null ));
24- return result ;
2514 }
15+ return flattenedList ;
2616 }
27-
2817}
Original file line number Diff line number Diff line change 22
33class Flattener {
44
5- < T > List <T > flatten (List <T > list ) {
5+ List <Object > flatten (List <? > list ) {
66 throw new UnsupportedOperationException ("Delete this statement and write your own implementation." );
77 }
88
You can’t perform that action at this time.
0 commit comments