...

/

Solution Review: Gathering Zeros to the Start

Solution Review: Gathering Zeros to the Start

In this review, solution of the challenge 'Gathering Zeros to the Start' from the previous lesson is provided.

We'll cover the following...

Solution

Java
class ArrList {
public static void zerosToStart(ArrayList < Integer > arrList) {
ArrayList < Integer > newArrayList = new ArrayList < Integer > ();
int newArray_index = 0;
//Fill newArrayList with Zeros first.
//Then Fill it with non-zero Values.
//In the end, insert every element of newArrayList back into origional arrList.
for (int i = 0; i < arrList.size(); i++) {
if (arrList.get(i) == 0)
newArrayList.add(newArray_index++, arrList.get(i));
}
for (int i = 0; i < arrList.size(); i++) {
if (arrList.get(i) != 0)
newArrayList.add(newArray_index++, arrList.get(i));
}
for (int j = 0; j < newArrayList.size(); j++) {
arrList.set(j, newArrayList.get(j));
}
}
public static void main( String args[] ) {
ArrayList<Integer> input = new ArrayList<Integer>(Arrays.asList(5, 0, 20, 4, 0, 0, 9));
System.out.println("Array List before calling zerosToStart");
for (int i = 0; i < input.size(); i++){
System.out.print(input.get(i)+ " ");
}
System.out.println();
ArrList.zerosToStart(input);
System.out.println("Array List after calling zerosToStart");
for (int i = 0; i < input.size(); i++){
System.out.print(input.get(i)+ " ");
}
System.out.println();
}
}

How does the above code work?

In the above solution code, we have created a new Integer ...