一、移动零

1.双指针
我们可以设定两个指针i和j,其中i用来遍历整个数组,j用来遍历存放不为零的数的位置,当nums[i]不等于零时,就让nums[i]和nums[j]进行交换,然后j++,当我们遍历完整个数组之后就完成了操作,具体代码如下:
class Solution {
    public void moveZeroes(int[] nums) {
        int j = 0;
        for(int i = 0; i < nums.length; i++) {
            if(nums[i] != 0) {
                int tmp = nums[i];
                nums[i] = nums[j];
                nums[j] = tmp;
                j++;
            }
        }
    }
}
复杂度分析
- 时间复杂度:O(n)。
- 空间复杂度:O(1)。



















