Верните список, в котором все нули перемещены в конец. Порядок остальных (ненулевых) элементов должен сохраниться.
Реализуйте функцию move_zeroes(numbers).
Входные данные
numbers: список целых чисел.
Выходные данные
Верните перестроенный список.
Ограничения
0 ≤ длина ≤ 100 000
Примеры
Пример 1
Ввод:
numbers = [0, 1, 0, 3, 12]
Ожидаемый вывод:
expected = [1, 3, 12, 0, 0]
Ввод:
std::vector<long long> numbers = {0, 1, 0, 3, 12};
Ожидаемый вывод:
std::vector<long long> expected = {1, 3, 12, 0, 0};
Ввод:
long[] numbers = new long[] {0, 1, 0, 3, 12};
Ожидаемый вывод:
long[] expected = new long[] {1, 3, 12, 0, 0};
Пояснение
1, 3, 12 сохраняют свой порядок, а два нуля идут в конец: [1, 3, 12, 0, 0].
Пример 2
Ввод:
numbers = [0, 0]
Ожидаемый вывод:
expected = [0, 0]
Ввод:
std::vector<long long> numbers = {0, 0};
Ожидаемый вывод:
std::vector<long long> expected = {0, 0};
Ввод:
long[] numbers = new long[] {0, 0};
Ожидаемый вывод:
long[] expected = new long[] {0, 0};
Пояснение
Только нули: список остаётся [0, 0].
Ссылки
Это задание адаптировано для CodeUtility. Следуйте условию и ограничениям выше.