题目链接:27.移除元素
思路
双指针法
fastidx:用于从头到尾遍历nums所有元素
slowidx:如果发现当前的nums[fastidx]值不为val,则将nums[slowidx]替换。
代码
class Solution {
public:
int removeElement(vector<int>& nums, int val) {
int slowidx = 0;
for (int fastidx = 0; fastidx < nums.size(); ++fastidx) {
if (nums[fastidx] != val) nums[slowidx++] = nums[fastidx];
}
return slowidx;
}
};