其实和原地修改是一样的,这里就是将所有的0抹除,最后再把数组后面剩余的元素赋值0。
class Solution {
public:
void moveZeroes(vector<int>& nums) {
int slow = 0, fast = 0;
while (fast < nums.size())
{
if (nums[fast] != 0)
{
nums[slow] = nums[fast];
slow++;
}
fast++;
}
for (int i = slow; i < nums.size(); i++)
nums[i] = 0;
}
};