【leetcode】Remove Duplicates from Sorted Array II

class Solution {
public:
    int removeDuplicates(int A[], int n) {
        // Start typing your C/C++ solution below
        // DO NOT write int main() function
        if(n==0||n==1||n==2)//n<=2的情況
            return n;
        
        int loc=0;//計數新數組中的元素
        int loc1=0;
        while(loc1+2<=n-1)
        {
            if(A[loc1]==A[loc1+2])//因爲A[]是有序的,所以不用比較A[loc1+1]
                loc1++;
            else
                A[loc++]=A[loc1++];
        }
        if(loc1<=n-1)//處理A[]末尾處的兩個
            A[loc++]=A[loc1++];
        if(loc1<=n-1)
            A[loc++]=A[loc1++];
        return loc;
    }
};

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