LC26題,刪除重複值

@[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();

    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章