```
void moveZeroes(vector<int>& nums) {
int n = nums.size();
int first = -1;
for(int i = 0; i < n; ++i)
{
if(nums[i] != 0)
{
++first;
nums[first] = nums[i];
}
}
for(int i = first + 1 ; i < n; ++i)
nums[i] = 0;
}
```