解题思路:
双指针
指针 i 用于寻找不为零的位置
指针 j 用于寻找为零的位置
不为零时,自己与自己交换,i 和 j 同时向下一个位置移动
为零时,nums[ i ]与nums[ j ]交换,使零向后移动
class Solution {
public void moveZeroes(int[] nums) {
if (nums == null) return;
int j = 0;
for (int i = 0; i < nums.length; i++) {
if (nums[i] != 0) {
int tmp = nums[i];
nums[i] = nums[j];
nums[j++] = tmp;
}
}
}
}