我的解法:记录多少0的元素并删除,之后再添加
void moveZeroes(vector<int>& nums) {
int j=0;
for(int i=0;i<nums.size();i++)
{
if(nums[i]!=0)
continue;
if(nums[i]==0)
{
j++;
nums.erase(nums.begin()+i);
i--;
}
}
for(int z=0;z<j;z++)
nums.push_back(0);
}
解法一:直接复制简单明了
void moveZeroes(vector<int>& nums) {
int n=nums.size();
if(n==0) return ;
int count=0;
for(int i= 0;i<n;i++){
if(nums[i]!=0) nums[count++]=nums[i];
}
while(count<n)
nums[count++]=0;
}