class Solution {
public void moveZeroes(int[] nums) {
if (nums == null || nums.length <= 1) {
return;
}
// 定义一个下标
int index = 0;
// 先把非 0 的值存进去覆盖原数组
for (int i = 0; i < nums.length; i++) {
if (nums[i] != 0) {
nums[index] = nums[i];
index++;
}
}
// 剩下最后的值全部为 0
for (int i = index; i < nums.length; i++) {
nums[i] = 0;
}
}
}
leetcode原题: 283. 移动零
首先遍历传进来的数组,索引从 0 开始,把非零的值覆盖原数组的值,从存非 0 值的最后一个索引开始后续都为 0。