第一反应
这和上一题差不多,用快慢指针解决应该没啥问题
提交通过
一遍过
class Solution {
public int removeElement(int[] nums, int val) {
int fastIndex = 0;
int slowIndex = 0;
for(; fastIndex < nums.length ; fastIndex ++){
if(nums[fastIndex] == val){
continue;
}else{
if(slowIndex < fastIndex){
nums[slowIndex] = nums[fastIndex];
}
slowIndex++;
}
}
return slowIndex;
}
}
看看题解
这个方法确实想不到,很有借鉴意义。大概能少遍历一遍数组