与Remove Duplicates from Sorted Array不同的是:
如果len<3,直接返回;
遍历数组的过程中,删除数的条件是连续三个数相等,删除最后一个数,并且前移后面的数;
如果不符合这个条件,才继续向前遍历,否则继续比较。
public int removeDuplicates(int[] A) {
int len = A.length;
if(len<3)return len;
int i = 1;
while(i<len-1){
if(A[i-1] == A[i] && A[i] == A[i+1]){
for(int j = i+1;j<len-1;j++){
A[j] = A[j+1];
}
len--;
}else{
i++;
}
}
return len;
}