class Solution
{
public:
//双指针划分为三个区间
//[0,dest]非0元素,[dest+1,cur-1]0元素,[cur,n-1]待处理元素
vector<int> moveZeroes(vector<int>& nums)
{
int n=nums.size();//数组元素个数
int dest=-1,cur=0;
while(cur<n)
{
if(nums[cur]!=0)
{
swap(nums[++dest],nums[cur++]);
}
else
{
cur++;
}
}
return nums;
}
};

京公网安备 11010502036488号