参考资料:代码随想录
本题思路:通过快慢指针将两次循环减少到一次
java
class Solution {
public int removeElement(int[] nums, int val) {
//0 1 2 2 2 2 3
int fast = 0;
int slow = 0;
while(fast < nums.length){
if(nums[fast] != val){
nums[slow] = nums[fast];
fast++;
slow++;
}else {
fast++;
}
}
return slow;
}
}