
详细思路
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; } };
浙公网安备 33010602011771号