1234567891011121314151617181920212223242526272829303132333435 |
- #include <stdio.h>
-
- void moveZeroes(int*, int);
- void moveZeroes(int* nums, int numsSize){
- int numZeroes = 0;
- for (int i = 0; i < numsSize; i++) {
- if (nums[i] == 0) {
- numZeroes++;
- } else {
- nums[i - numZeroes] = nums[i];
- }
- }
-
- for (int i = 0; i < numZeroes; i++) {
- nums[numsSize - 1 - i] = 0;
- }
- }
-
- int main() {
- int nums[5] = {0, 1, 0, 3, 12};
- int expectedResult[5] = {1, 3, 12, 0, 0};
- printf("Expected: ");
- for (int i = 0; i < 5; i++) {
- printf("%d ", expectedResult[i]);
- }
- printf("\n");
-
- moveZeroes(nums, 5);
-
- printf("Got: ");
- for (int i = 0; i < 5; i++) {
- printf("%d ", nums[i]);
- }
- printf("\n");
- }
|