Menu
CoddyTech

Move Zeroes

FácilDos punterospython iconjava iconcpp iconc iconjs icon+10

Recibes un arreglo de números enteros nums. Mueve todos los 0 al final del arreglo y conserva los demás valores en el orden en que estaban. Devuelve el arreglo reorganizado, que tiene la misma longitud que nums.

Función

moveZeroes(nums: integer-array) → integer-array
numsinteger-array
el arreglo de enteros que se debe reorganizar
Devuelveinteger-array
los números con los valores distintos de cero primero, en su orden original, y todos los 0 al final

Restricciones

  • 1 ≤ nums.length ≤ 5000
  • -105 ≤ nums[i] ≤ 105

Ejemplos

Entrada
nums = [0, 4, 0, 7, 2]
Salida
[4, 7, 2, 0, 0]
Explicación
Los valores que no son 0 son 4, 7 y 2, y mantienen ese orden al principio. Los dos 0 ocupan los dos últimos lugares.

lock icon+14 pruebas ocultas al enviar

challenge icon

Para ir más allá

¿Puedes mover todos los 0 al principio y mantener los demás valores en su orden, en una sola pasada y con memoria adicional O(1)?

Restablecer código
def moveZeroes(nums):
    # Escribe el código aquí
Casos de prueba

Caso 1

Caso 2

Caso 3

Entrada

nums = [0, 4, 0, 7, 2]

Esperado

[4, 7, 2, 0, 0]