給定一個排序數組,你需要在原地刪除重複出現的元素,使得每個元素只出現一次,返回移除後數組的新長度。
不要使用額外的數組空間,你必須在原地修改輸入數組並在使用 O(1) 額外空間的條件下完成。
函數應該返回新的長度 2, 並且原數組 nums 的前兩個元素被修改爲
1
, 2
。 你不需要考慮數組中超出新長度後面的元素。
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if(nums.size()==0)
return nums.size();//它有一組測試數據是空的nums
int j=1;
for(int i = 1; i < nums.size(); i++)
{
if(nums[i] != nums[j-1])
{
nums[j] = nums[i];
j++;
}
}
nums.erase(nums.begin()+j,nums.end());//刪除後面區間從j到最後的數
return nums.size();
}
};