@[TOP] LC26題,刪除重複值
題目描述
給定一個排序數組,你需要在 原地 刪除重複出現的元素,使得每個元素只出現一次,返回移除後數組的新長度。
不要使用額外的數組空間,你必須在 原地 修改輸入數組 並在使用 O(1) 額外空間的條件下完成。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array
著作權歸領釦網絡所有。商業轉載請聯繫官方授權,非商業轉載請註明出處。
思路
設置一個臨時變量temp記錄,如果相同就刪除,不同就更換temp的值。
代碼
class Solution {
public:
int removeDuplicates(vector<int>& nums)
{
if(nums.size()==0)
{
return 0;
}
if(nums.size()==1)
{
return 1;
}
int temp=nums[0];
for(int i=1;i<nums.size();i++)
{
if(temp==nums[i])
{
nums.erase(nums.begin()+i);
i--;
}
else
{
temp=nums[i];
}
}
return nums.size();
}
};