Menu
CoddyTech

Move Zeroes

Bạn có một mảng số nguyên nums. Hãy chuyển mọi số 0 đến cuối mảng và giữ nguyên thứ tự của các giá trị còn lại. Trả về mảng đã sắp xếp lại, có cùng độ dài với nums.

Hàm

moveZeroes(nums: integer-array) → integer-array
numsinteger-array
mảng số nguyên cần sắp xếp lại
Trả vềinteger-array
các số khác 0 ở trước theo thứ tự ban đầu, và mọi số 0 ở cuối

Ràng buộc

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

Ví dụ

Đầu vào
nums = [0, 4, 0, 7, 2]
Đầu ra
[4, 7, 2, 0, 0]
Giải thích
Các giá trị khác 0 là 4, 7 và 2, chúng vẫn giữ nguyên thứ tự ở phía trước. Hai số 0 chiếm hai vị trí cuối cùng.
challenge icon

Câu hỏi mở rộng

Bạn có thể chuyển mọi số 0 lên đầu, giữ nguyên thứ tự các giá trị khác, chỉ với một lượt duyệt và dùng thêm bộ nhớ O(1) không?

Đặt lại code
def moveZeroes(nums):
    # Viết code ở đây

Kiểm thử #1

Kiểm thử #2

Kiểm thử #3

Đối số

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

Đầu ra mong đợi

[4, 7, 2, 0, 0]