Menu
CoddyTech

Move Zeroes

LeichtZwei Zeigerpython iconjava iconcpp iconc iconjs icon+10

Du erhältst ein Array aus Ganzzahlen nums. Verschiebe jede 0 ans Ende des Arrays und behalte die Reihenfolge der anderen Werte bei. Gib das neu angeordnete Array zurück, das dieselbe Länge wie nums hat.

Funktion

moveZeroes(nums: integer-array) → integer-array
numsinteger-array
das Array der umzuordnenden Ganzzahlen
Gibt zurückinteger-array
nums mit den Werten ungleich 0 zuerst, in ihrer ursprünglichen Reihenfolge, und allen 0 am Ende

Einschränkungen

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

Beispiele

Eingabe
nums = [0, 4, 0, 7, 2]
Ausgabe
[4, 7, 2, 0, 0]
Erklärung
Die Werte, die nicht 0 sind, sind 4, 7 und 2, und sie behalten diese Reihenfolge am Anfang bei. Die beiden 0en füllen die letzten beiden Plätze.

lock icon+14 versteckte Tests beim Einreichen

challenge icon

Weiterführende Frage

Kannst du stattdessen jede 0 an den Anfang verschieben und dabei die Reihenfolge der anderen Werte beibehalten, und das in einem Durchlauf mit O(1) zusätzlichem Speicher?

Code zurücksetzen
def moveZeroes(nums):
    # Schreibe hier den Code
Testfälle

Fall 1

Fall 2

Fall 3

Eingabe

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

Erwartet

[4, 7, 2, 0, 0]