Problema
Ver original (inglês)Retorne a lista com todos os zeros movidos para o final. Os valores diferentes de zero mantêm sua ordem relativa.
Implemente move_zeroes(numbers).
Entrada
numbers: A lista de inteiros.
Saída
Retorne a lista reorganizada.
Restrições
0 ≤ comprimento ≤ 100.000
Exemplos
Exemplo 1
Entrada:
numbers = [0, 1, 0, 3, 12]
Saída esperada:
expected = [1, 3, 12, 0, 0]
Entrada:
std::vector<long long> numbers = {0, 1, 0, 3, 12};
Saída esperada:
std::vector<long long> expected = {1, 3, 12, 0, 0};
Entrada:
long[] numbers = new long[] {0, 1, 0, 3, 12};
Saída esperada:
long[] expected = new long[] {1, 3, 12, 0, 0};
Explicação
1, 3, 12 mantêm sua ordem e os dois zeros vão para o final: [1, 3, 12, 0, 0].
Exemplo 2
Entrada:
numbers = [0, 0]
Saída esperada:
expected = [0, 0]
Entrada:
std::vector<long long> numbers = {0, 0};
Saída esperada:
std::vector<long long> expected = {0, 0};
Entrada:
long[] numbers = new long[] {0, 0};
Saída esperada:
long[] expected = new long[] {0, 0};
Explicação
Apenas zeros: a lista permanece [0, 0].
Referências
Este desafio foi adaptado para o CodeUtility. Siga o enunciado e as restrições acima.