Problem
Return the list with all zeros moved to the end. The non-zero values keep their relative order.
Implement move_zeroes(numbers).
Input
numbers: The list of integers.
Output
Return the rearranged list.
Constraints
0 ≤ length ≤ 100,000
Examples
Example 1
Input:
numbers = [0, 1, 0, 3, 12]
Expected output:
expected = [1, 3, 12, 0, 0]
Input:
std::vector<long long> numbers = {0, 1, 0, 3, 12};
Expected output:
std::vector<long long> expected = {1, 3, 12, 0, 0};
Input:
long[] numbers = new long[] {0, 1, 0, 3, 12};
Expected output:
long[] expected = new long[] {1, 3, 12, 0, 0};
Explanation
1, 3, 12 keep their order and the two zeros go last: [1, 3, 12, 0, 0].
Example 2
Input:
numbers = [0, 0]
Expected output:
expected = [0, 0]
Input:
std::vector<long long> numbers = {0, 0};
Expected output:
std::vector<long long> expected = {0, 0};
Input:
long[] numbers = new long[] {0, 0};
Expected output:
long[] expected = new long[] {0, 0};
Explanation
Only zeros: the list stays [0, 0].
References
This challenge is adapted for CodeUtility. Follow the statement and constraints above.