记录0的个数,判断后面的要前移几位,最后补全后面的零。
void moveZeroes(vector<int>& nums) {
int n = nums.size();
int zeros = 0;
for (int i = 0; i < n; i++) {
if (nums[i] == 0) {
zeros++;
}
else {
nums[i - zeros] = nums[i];
}
}
for (int i = 0; i < zeros; i++) {
nums[n - i - 1] = 0;
}
}