解题思路:
遍历数组,把非零元素移到数组钱前面(从下标零开始),剩下的元素用零补充。
以下为代码加注解:
class Solution {
public:
void moveZeroes(vector<int>& nums) {
int len=nums.size();
int j=0;
for(int i=0;i<len;i++) //遍历数组
{
if(nums[i]!=0) //如果元素非零
{
nums[j]=nums[i]; //放到数组前面,从零下标开始
j++;
}
}
for(int k=j;k<len;k++) //其余元素用零填补
{
nums[k]=0;
}
}
};