class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if(nums.size()<2)
return nums.size();
//直接在原数组上修改
int index = 0;
for(int i = 0;i<nums.size();++i)
{
if(i+1<nums.size() && nums[i] != nums[i+1])
nums[index++] = nums[i];
}
nums[index++] = nums[nums.size()-1];
return index;
}
};
class Solution {
public:
int removeElement(vector<int>& nums, int val) {
int index = 0;
for(int i = 0;i<nums.size();++i)
{
if(nums[i] != val)
{
nums[index++] = nums[i];
}
}
return index;
}
};
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if(nums.size()<2)
return nums.size();
int i = 2;
for(int j =i;j<nums.size();j++){
if(nums[j]!=nums[i-2]){
nums[i]=nums[j];
i++;
}
}
return i;
}
};