dengch

 

4.移动零

题目概述:给定一个包含0的数组nums,要求在原数组上进行操作,使得数组中所有的0都位于数组尾部,且数组中的非零元素顺序保持不变
解题思路:记录0的个数,当枚举到非零元素时,可以计算出它在答案数组中的位置:i - zeroCount。最后再用0覆盖数组尾部

代码

class Solution {
    public void moveZeroes(int[] nums) {
        int n = nums.length;
        int zeroCount = 0;

        for(int i = 0; i < n; i ++){
            if(nums[i] == 0)zeroCount++;
            else nums[i - zeroCount] = nums[i];
        }

        for(int i = n - zeroCount; i < n; i ++)nums[i] = 0;

    }
}

posted on 2023-10-31 11:54  BkDench  阅读(5)  评论(0编辑  收藏  举报

导航