26. Remove Duplicates from Sorted Array 这道题的解题思路是,我们使用快慢指针来记录遍历的坐标,最开始时两个指针都指向第一个数字,如果两个指针指的数字相同,则快指针向前走一步,如果不同,则两个指针都向前走一步,这样当快指针走完整个数组后,慢指针当前的坐标加1就是数组中不同数字的个数
class Solution {
public:
int removeDuplicates(int A[], int n) {
if (n <= 1) return n;
int pre = 0, cur = 0;
while (cur < n) {
if (A[cur] == A[pre]) ++cur;
else A[++pre] = A[cur++];
}
return pre + 1;
}
};