天天看點

LeetCode 26. 從排序數組中删除重複項

題目描述: 從排序數組中删除重複項

        給定一個有序數組,你需要原地删除其中的重複内容,使每個元素隻出現一次,并傳回新的長度。

        不要另外定義一個數組,您必須通過用 O(1) 額外記憶體原地修改輸入的數組來做到這一點。

示例:

給定數組: nums = [1,1,2],

你的函數應該傳回新長度 2, 并且原數組nums的前兩個元素必須是1和2
不需要理會新的數組長度後面的元素      

代碼:

class Solution {
public:
    int removeDuplicates(vector<int>& nums) {
        if(nums.empty()) return 0;
        int ans = 1;
        for(int i = 1 ; i < nums.size(); i ++) {
            if(nums[i] == nums[i-1]) continue;
            nums[ans++] = nums[i];
        }
        return ans;
    }
};