Move Zeroes
my solution
class Solution {
public:
void moveZeroes(vector<int>& nums) {
const int len = nums.size();
int j = 0;
for(int i = 0; i < len; i++){
if(nums[i]!=0){
nums[j++] = nums[i];
}
}
for(int i = j; i < len; i++){
nums[i] = 0;
}
}
};
other solution
class Solution {
public:
void moveZeroes(vector<int>& nums) {
int front = -1;
for(int i=0; i<nums.size(); ++i)
{
if(nums[i] == 0)
{
if(front == -1)
front = i;
}
else
{
if(front != -1)
{
swap(nums[i], nums[front]);
++front;
}
}
}
}
};