Given an arraynums, write a function to move all0's to the end of it while maintaining the relative order of the non-zero elements.
For example, givennums = [0, 1, 0, 3, 12]
, after calling your function,numsshould be[1, 3, 12, 0, 0]
Note:
You must do thisin-placewithout making a copy of the array.
Minimize the total number of operations.
void moveZeroes(int* nums, int numsSize) { for(int j=0,i=0;i<numsSize;i++){ if(nums[j]) j++; else if(nums[i]!=0){ nums[j]=nums[i]; nums[i]=0; j++; } } }
网友评论