Move Zeroes

设置一个指针pos,用于计算非0的数字个数,遍历数组,遇到不等于0的数字,则把该数赋给nums[pos]。最后把pos之后的数字全部置0.

void moveZeroes(vector<int>& nums) {
        int size = nums.size();
        int i = 0,pos = 0;
        for(i=0;i<size;++i){
            if(nums[i]!=0){
                nums[pos]=nums[i];
                pos++;
            }
        }
        for(i=pos;i<size;++i){
            nums[i] = 0;
        }
    }


你可能感兴趣的:(Move Zeroes)