leetcode-283-easy

Move Zeroes

思路一: 用 left 指针标记求解数组最大下标 + 1,初始化的时候是 0,随着往右遍历,left 会一步步扩大。最后把 left 右边的数都置为 0。
这题的关键在于 left 永远指向求解数组最大下标 + 1

public void moveZeroes(int[] nums) {
    int left = 0;
    for (int i = 0; i < nums.length; i++) {
        if (nums[i] != 0) {
            if (i >= left) {
                nums[left] = nums[i];
                left++;
            }
        }
    }
    for (; left < nums.length && left > 0; left++) {
        nums[left] = 0;
    }
}
posted @ 2022-10-23 09:08  iyiluo  阅读(15)  评论(0)    收藏  举报