思想:遇到不要的元素,应当用后续元素覆盖即可。
方法:双指针:慢指针获取新元素要插入的位置,快指针获得新元素的值。(一个萝卜一个坑)
代码:
class Solution {
public:
int removeElement(vector<int>& nums, int val) {
int slow = 0;
for(int fast = 0; fast < nums.size(); fast++){
if(nums[fast] != val){
nums[slow] = nums[fast];
slow++;
}
}
return slow;
}
};