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.
Solution:
void moveZeroes(int* nums, int numsSize) {
int i, count = -1;
for(i=0; i<numsSize; i++)
{
if(nums[i] != 0)
{
count++;
nums[count] = nums[i];
}
}
count++;
for(count; count<numsSize; count++)
nums[count] = 0;
}
沒有留言:
張貼留言