283. 移动零
思路
题目思路
一样的原地操作一样的双指针
思路及代码
在27题的基础上
先把非0的移动到前面,交给after记录
完成循环以后
再把after以后的位置填上0
class Solution {
public void moveZeroes(int[] nums) {
int length = nums.length;
int front = 0;
int after = 0;
for (; front < length; front++) {
if (nums[front] != 0) {
nums[after] = nums[front];
after++;
}
}
for (; after < length; after++) {
nums[after] = 0;
}
}
}