Move Zeroes
Source
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.
Java
public class Solution {
public void moveZeroes(int[] nums) {
int last=0;
int cur=0;
while(cur<nums.length){
if(nums[cur]!=0){
swap(nums, last++, cur++);
}
else{
cur++;
}
}
}
public void swap(int[] nums, int start, int end){
int tmp = nums[start];
nums[start]=nums[end];
nums[end]=tmp;
}
}