← 返回 Kata
EasyLeetCode2026-04-28原题 ↗

010Move Zeroes

arraytwo-pointers

Problem

给定一个整数数组 nums

请将数组中的所有 0 移动到数组末尾,同时保持非零元素的相对顺序不变。

你必须在原数组上进行操作,不能额外复制一个数组。

Examples

示例 1

Input:  nums = [0,1,0,3,12]
Output: [1,3,12,0,0]

解释:非零元素 1, 3, 12 的相对顺序保持不变,所有 0 被移动到末尾。

示例 2

Input:  nums = [0]
Output: [0]

示例 3

Input:  nums = [1,0,2,0,3]
Output: [1,2,3,0,0]

Constraints

  • 11 \leq nums.length 104\leq 10^4
  • 231-2^{31} \leq nums[i] 2311\leq 2^{31} - 1
  • 必须在原数组上修改 nums

最初怎么想、怎样补完整、最后如何落成。