two pointers
283. Move Zeroes
tip
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 1:
- Input: nums = [0,1,0,3,12]
- Output: [1,3,12,0,0]
- Example 2:
- Input: nums = [0]
- Output: [0]
class Solution {
public void moveZeroes(int[] nums) {
int slow = 0;
int fast = 0;
while(fast < nums.length) {
if(nums[fast] != 0) {
nums[slow] = nums[fast];
slow ++;
}
fast ++;
}
while(slow < nums.length) {
nums[slow ++] = 0;
}
}
}