---
# System prepended metadata

title: 'LeetCode #26 [Remove Duplicates from Sorted Array](https://leetcode.com/problems/remove-duplicates-from-sorted-array)'
tags: [LeetCode, Medium]

---

###### tags: `LeetCode` `Medium`
# LeetCode #26 [Remove Duplicates from Sorted Array](https://leetcode.com/problems/remove-duplicates-from-sorted-array)
### (Medium)
給你一個有序數組 nums ，請你 原地 刪除重複出現的元素，使每個元素 只出現一次 ，返回刪除後數組的新長度。
不要使用額外的數組空間，你必須在 原地 修改輸入數組 並在使用 O(1) 額外空間的條件下完成。


---
設一暫存變數tmp儲存nums[i], count為計數器, 若nums[i+1]!=tmp, 則在nums[count++]存入nums[i]的值, 並且更新tmp為nums[i+1], 最後回傳count。


---

```
class Solution {
public:
    int removeDuplicates(vector<int>& nums) {
        if(nums.size()){
            int cnt=0;
            int tmp;
            for(int i=0;i<nums.size();i++){
                if(nums[i]!=tmp){
                    tmp=nums[i];
                    nums[cnt++]=nums[i];
                }
            }
            return cnt;
        }
        return 0;
    }
};
```