一个通用的思路:用index记录新数组的下标,遍历旧数组,如果当前元素与A[index-2]的元素不相同,则表示这个数应该放入新数组。(其中2可以变为1,3,4...)代码如下:

//
// Created by jt on 2020/9/24.
//
class Solution {
public:
    int removeDuplicates(int A[], int n) {
        if (n <= 2) return n;
        int idx = 2;
        for (int i = 2; i < n; ++i) {
            if (A[idx-2] != A[i]) {
                A[idx++] = A[i];
            }
        }
        return idx;
    }
};