对于移除元素这种可以采用双指针的写法。
不过最后的0要保留没有特别好的解法,只能统一用for循环更改了。
class Solution {
public void moveZeroes(int[] nums) {
// 双指针
int slow = 0,fast = 0;
for(fast = 0;fast < nums.length;fast++){
if(nums[fast] != 0 ){
nums[slow] = nums[fast];
slow++;
}
}
for(;slow < nums.length;slow++){
nums[slow] = 0;
}
}
}