移除元素_IT

 

 

 

详细思路

left是已经处理好的,right是需要判断的,不断遍历,不行的right++,行的left++并放入并right++
 
精确定义
left已经处理好
right需要判断的
ans left处理过的个数
class Solution {
public:
    int removeElement(vector<int>& nums, int val) {
        int ans=0,left=-1,right=0;
        while(right<nums.size()){
            if(nums[right]==val)right++;
            else {
                left++;
                ans++;
                nums[left]=nums[right];
                right++;
            }
        }
        return ans;
    }
};