题目
大致思路
- 第一次遍历,将遇到的n个非零元素按顺序赋值到数组的前n项中
- 第二次遍历,将剩余的位置填充为0即可。
代码实现
class Solution {
public void moveZeroes(int[] nums) {
//记录0的个数
int count = 0;
//将n个非0元素按顺序赋值到数组的前n项
for(int i = 0;i<nums.length;i++){
if(nums[i] != 0){
nums[count++] = nums[i];
}
}
//剩余的0项依次赋值即可
for(int k = count;k<nums.length;k++){
nums[k] = 0;
}
}
}