--- title: 'LeetCode 283. Move Zeroes' disqus: hackmd --- # LeetCode 283. Move Zeroes ## Description Given an integer array nums, move all 0's to the end of it while maintaining the relative order of the non-zero elements. Note that you must do this in-place without making a copy of the array. ## Example Input: nums = [0,1,0,3,12] Output: [1,3,12,0,0] ## Constraints 1 <= nums.length <= 10^4^ -2^31^ <= nums[i] <= 2^31^ - 1 ## Answer 此題可設idx來記錄不為0的位置,此題只要管idx是否等於i,若一樣就不用更新,若不一樣就更新即可。 ```Cin= //2022_04_26 void moveZeroes(int* nums, int numsSize){ int i = 0, idx = 0; for(i = 0; i < numsSize; i++){ if(nums[i] != 0){ if(i != idx){ nums[idx] = nums[i]; nums[i] = 0; } idx++; } } } ``` ## Link https://leetcode.com/problems/move-zeroes/ ###### tags: `Leetcode`