27. Remove Element

思路:
和昨天的每日一题相似,同样使用快慢指针,区别在于我们比较快指针所指的元素是否等于val,如果不等那么就将其放到慢指针所指的地方。最后return slow即可。

代码:

class Solution {
public:
    int removeElement(vector<int>& nums, int val) {
        int n=nums.size();
        int slow=0;
        for(int fast=0;fast<n;++fast){  //之前初始化为fast=1,但是如果第一个元素不同,就会被第二个不同的元素覆盖掉,只能初始化为0
            if(nums[fast]!=val){
                nums[slow]=nums[fast];
                slow++;
            }
        }
        return slow;
    }
};
posted @ 2021-04-19 12:08  Mrsdwang  阅读(33)  评论(0编辑  收藏  举报