就是数组元素移动问题:
代码如下:
class Solution {
public:
void moveZeroes(vector<int>& nums) {
int j=0;
for(int i=0;i<nums.size();i++){
if(nums[i]!=0) nums[j++]=nums[i];
}
while(j<nums.size()) nums[j++]=0;
}
};
第二种方法:好像就是stl,就是一个比较稳定的排序:
class Solution {
public:
void moveZeroes(vector<int>& nums) {
stable_partition(nums.begin(),nums.end(),[](int a){return a!=0;});
}
};