设置一个指针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;
}
}