i 表示在原数组的下标,pos[i] 表示在新数组的下标,pos[i]<=i。
即最终数组 i 位置的数不会在处理原数组 1~i-1 位置上的数时被覆盖。
因此,for (int i=0;i<n;i++) 循环一遍处理即可。
283. 移动零
class Solution {
public:
void moveZeroes(vector<int>& nums) {
int cnt=0;
int n=nums.size();
for (int i=0;i<n;i++){
if (nums[i]!=0){
nums[cnt]=nums[i];
cnt++;
}
else continue;
}
while (cnt<n){
nums[cnt]=0;
cnt++;
}
}
};