class Solution {
public:
void moveZeroes(vector<int>& nums) {
int count=0;
int curIndex=0;
for(int i=0;i<nums.size();i++)
{
if(nums[i]!=0)
nums[curIndex++]=nums[i];
else
count++;
}
for(int i=0;i<count;i++)
{
nums[curIndex]=0;
curIndex++;
}
/*
int curIndex=0;
for(int i=0;i<nums.size();i++)
{
if(nums[i]!=0)
{
swap(nums[i],nums[curIndex]);
curIndex++;
}
}*/
}
};
上面的方法在零较少时有更好的表现,注释掉的方法在零较多的时候表现更好,总的来说两种方法时间复杂度差不多,注释部分的方法跟简洁。