Move Zeros
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.
For example, given nums = [0, 1, 0, 3, 12]
, after calling your function, nums
should be [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.
1 public class Solution { 2 public void moveZeroes(int[] nums) { 3 int a = 0; 4 int b = 0; 5 for(int i = 0 ; i < nums.length ; i++){ 6 if( nums[i] == 0 ){ 7 a++; 8 }else{ 9 nums[b] = nums[a]; 10 a++; 11 b++; 12 } 13 } 14 while(b < nums.length){ 15 nums[b]=0; 16 b++; 17 } 18 } 19 }