Remove Duplicates from Sorted Array II

Follow up for "Remove Duplicates":
What if duplicates are allowed at most twice?

For example,
Given sorted array A = [1,1,1,2,2,3],

Your function should return length = 5, and A is now [1,1,2,2,3].

class Solution {
public:
     int removeDuplicates( int A[],  int n) 
    {
         if(n<= 2return n;
        
         int index= 0;
         int index2= 0;
         while(index2<n)
        {
            A[index++]=A[index2++];
             if(index2<n && A[index2]==A[index- 1])
                A[index++]=A[index2++];
             while(index2<n && A[index2]==A[index- 1])
                index2++;
        }
         return index;
    }
};  

你可能感兴趣的:(remove)