描述:
删除vector中指定数值的元素,要求空间复杂度为O(1)。
思路:
遍历vector,在进入循环的时候,删除头元素,若与指定值相同,则跳出循环不再加入vector,若不相同,用push_back加入尾部。
class Solution {
public:
int removeElement(vector<int>& nums, int val) {
for(int i = 0; i < nums.size(); i++)
{
int vv = nums.front();
nums.erase(nums.begin());
if(vv == val){
i--;
continue;
}
nums.push_back(vv);
}
return nums.size();
}
};