双指针的方法,不懂可以在评论区问我
代码
class Solution {
public:
void moveZeroes(vector<int>& nums) {
int left = 0 ; int right = 0;
while(left<nums.size()&&nums[left]!=0)
{
left++;
}
if(left==nums.size()||left==nums.size()-1) {return ;}
right = left+1;
for(; right<nums.size(); right++)
{
if(nums[right]!=0)
{
swap(nums[left], nums[right]); left++;
}
}
}
};