Given an array nums
, write a function to move all 0
's to the end of it while maintaining the relative order of the non-zero elements.
Example:
Input: [0,1,0,3,12]
Output: [1,3,12,0,0]
Note:
- You must do this in-place without making a copy of the array.
- Minimize the total number of operations.
Code:
void moveZeroes(int* nums, int numsSize){
int j = 0;
for(int i=0;i<numsSize;i++){
if(nums[i]!=0){
nums[j]=nums[i];
j++;
}
}
printf(“%d”,j);
for(int k=j;k<numsSize;k++){
nums[k]=0;
}
return 0;
}
Output: