Two Pointers T.C: O(n) S.C: O(1)
/**
* @param {number[]} nums
* @return {void} Do not return anything, modify nums in-place instead.
*/
var moveZeroes = function(nums) {
// first ptr
let ptr = 0;
for(let i = 0; i < nums.length; i++) {
if(nums[i] !== 0) {
nums[ptr] = nums[i];
ptr++;
}
}
for(let i = ptr; i < nums.length; i++) {
nums[i] = 0;
}
return nums
};