给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。
示例:
输入: [0,1,0,3,12]
输出: [1,3,12,0,0]
public static void moveZeroes(int [] nums){
/**
* 把所有非0的数向前移动 然后把后面的数全部赋值为0就可以实现
*/
if (nums == null || nums.length == 0) {
return;
}
int index=0;
//一次循环遍历所有的不为0的数保证相对次序 实现前者非零 后者为0
for (int i = 0; i <nums.length ; i++) {
if(nums[i]!=0){
nums[index++]=nums[i];
}
}
while(index<nums.length){
nums[index++]=0;
}