双指针法
1、定义两个指针i和k,初始化i = 0,k = 0。
2、i指针向后移动,遍整个nums数组,如果 nums[i] != 0,也就是说遇到了非0元素,此时我们就将nums[i]元素放置到nums[k]位置,同时k++后一位。
3、最后将k位置之后的元素都赋值为0。
class Solution {
public:
void moveZeroes(vector<int>& nums) {
int len=nums.size();
int k=0;
for(int i=0;i<len;i++){
if(nums[i]!=0){
nums[k++]=nums[i];
}
}
while(k<len){
nums[k++]=0;
}
}
};