0283. Move Zeros

0283. Move Zeros #

题目 #

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末位,同时保持非零元素的相对顺序。

必须在不复制数组的情况下原地对数组进行操作。

思路 #

代码 #

class Solution {
    public void moveZeros(int[] nums) {
        int slow = 0, fast = 0;
        while (fast < nums.length) {
            if (nums[fast] != 0) nums[slow++] = nums[fast];
            fast++;
        }
        while (slow < nums.length) nums[slow++] = 0;
    }
}