#include <iostream>
#include<vector>
using namespace std;
class Solution {
public:
void moveZeroes(vector<int>& nums) {
// create a vector which store all the elements rather than 0
vector<int> v1;
int count;
// Run the loop for the given problems
for(int i=0;i<nums.size();i++){
if(nums[i]!=0){
v1.push_back(nums[i]);
}
else{
count=count+1;
}
}
// The left over elelments should be stored after the non zero elements
// Run the loop for the given elements
for(int i=0;i<count;i++){
v1.push_back(0);
}
for(int i = 0; i < v1.size(); ++i){
nums[i] = v1[i];
}
// print the given o/p
for(int i=0;i<nums.size();i++){
cout<<nums[i]<<" ";
}
}
};
int main() {
// your code goes here
Solution s1;
vector<int> v2={0,1,0,3,12};
s1.moveZeroes(v2);
//cout<<v2;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTx2ZWN0b3I+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjbGFzcyBTb2x1dGlvbiB7CnB1YmxpYzoKICAgIHZvaWQgbW92ZVplcm9lcyh2ZWN0b3I8aW50PiYgbnVtcykgewogICAgICAgIC8vIGNyZWF0ZSBhIHZlY3RvciB3aGljaCBzdG9yZSBhbGwgdGhlIGVsZW1lbnRzIHJhdGhlciB0aGFuIDAKICAgICAgICB2ZWN0b3I8aW50PiB2MTsKICAgICAgICBpbnQgY291bnQ7CiAgICAgICAgLy8gUnVuIHRoZSBsb29wIGZvciB0aGUgZ2l2ZW4gcHJvYmxlbXMKICAgICAgICBmb3IoaW50IGk9MDtpPG51bXMuc2l6ZSgpO2krKyl7CiAgICAgICAgICAgIGlmKG51bXNbaV0hPTApewogICAgICAgICAgICAgICAgdjEucHVzaF9iYWNrKG51bXNbaV0pOwogICAgICAgICAgICAgIAogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2V7CiAgICAgICAgICAgIAljb3VudD1jb3VudCsxOwogICAgICAJIAogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgICAgICAgLy8gVGhlIGxlZnQgb3ZlciBlbGVsbWVudHMgc2hvdWxkIGJlIHN0b3JlZCBhZnRlciB0aGUgbm9uIHplcm8gZWxlbWVudHMgCiAgICAgICAvLyBSdW4gdGhlIGxvb3AgZm9yIHRoZSBnaXZlbiBlbGVtZW50cwogICAgICAgIGZvcihpbnQgaT0wO2k8Y291bnQ7aSsrKXsKICAgICAgICB2MS5wdXNoX2JhY2soMCk7CiAgCiAgICAgICAgICAgIH0KICAgICAgICAgICAgCQogICAgICAgICAgICAKICAgICAgICAgICAgIGZvcihpbnQgaSA9IDA7IGkgPCB2MS5zaXplKCk7ICsraSl7CiAgICAgICAgICAgICAJCgkJICAgICAJbnVtc1tpXSA9IHYxW2ldOwoJICAgICAgICAJfQoJICAgICAgICAJLy8gcHJpbnQgdGhlIGdpdmVuIG8vcAoJICAgICAgICAJZm9yKGludCBpPTA7aTxudW1zLnNpemUoKTtpKyspewoJICAgICAgICAJCWNvdXQ8PG51bXNbaV08PCIgIjsKCSAgICAgICAgCX0KICAgICAgICAgICAgCiAgICAgIAogICAgICAgIH0KfTsKICAgICAgICAKICAgIAoKCiAgaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglTb2x1dGlvbiBzMTsKCXZlY3RvcjxpbnQ+IHYyPXswLDEsMCwzLDEyfTsKCXMxLm1vdmVaZXJvZXModjIpOwoJLy9jb3V0PDx2MjsKCXJldHVybiAwOwp9