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;
}
};