题意:把一个数组中的0全部移到数组后面,不改变其他数的相对顺序
分析:从头开始遍历,遇到0则把0移到数组最后面,定义两个数分别记录数组前面得到的整数个数a和数组最后的0的个数b,当a+b==n(n为数组长度)时遍历结束。
代码:
class Solution {
public:
void moveZeroes(vector<int>& nums) {
int a,b;
int n;
a=b=0;
n=nums.size();
while(a+b<n){
if(nums.at(a)==0){
nums.erase(nums.begin()+a);
nums.push_back(0);
b++;
}else a++;
}
}
};