class Solution {
public:
void moveZeroes(std::vector<int>& nums) {
int slow=0, fast=0;
while(fast<nums.size()){
// slow标记 首个零值,fast 寻找新的非零值
if(nums[fast]){
std::swap(nums[slow], nums[fast]);
slow++;
}
fast++;
}
}
};
class Solution {
public:
void moveZeroes(std::vector<int>& nums) {
for (int i=0; i<nums.size();i++)
if(nums[i]==0)
// 从零往后找到非零值交换
for (int j=i+1;j<nums.size();j++){
if(nums[j]==0) continue;
std::swap(nums[i], nums[j]);
break;
}
}
};