283. 移动零

283. 移动零

题目链接

分析

解法

public void moveZeroes(int[] nums) {
    // 首先用双指针法移动元素
    int slow=0,fast=0;
    for(;fast<nums.length;fast++){
        if(nums[fast]!=0){
            nums[slow] = nums[fast];
            slow++;
        }
    }
    // 然后再从慢指针到快指针设置值
    for(;slow<nums.length;slow++){
        nums[slow]=0;
    }
}

相关题

27. 移除元素
26. 删除有序数组中的重复项
844. 比较含退格的字符串
977. 有序数组的平方
滑动窗口
209. 长度最小的子数组
904. 水果成篮