Menu
CoddyTech

Move Zeroes

简单双指针python iconjava iconcpp iconc iconjs icon+10

你会得到一个整数数组 nums。把所有 0 移到数组末尾,并保持其他值的原有顺序。返回重排后的数组,其长度与 nums 相同。

函数

moveZeroes(nums: integer-array) → integer-array
numsinteger-array
需要重新排列的整数数组
返回值integer-array
nums 中先放非零值,并保持原有顺序,最后放置所有 0

约束条件

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

示例

输入
nums = [0, 4, 0, 7, 2]
输出
[4, 7, 2, 0, 0]
解释
不为 0 的值是 4、7 和 2,它们按原来的顺序排在前面。两个 0 填在最后两个位置。
challenge icon

进阶

你能否只遍历一次,把每个 0 移到最前面,同时保持其他值的顺序不变,并且只使用 O(1) 的额外内存?

重置代码
def moveZeroes(nums):
    # 在这里编写代码

测试 #1

测试 #2

测试 #3

参数

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

预期输出

[4, 7, 2, 0, 0]