解答:
图片来自五分钟学算法
private int removeDuplicates (int[] nums) {
// 定义慢指针起始位置指向数组第一位
int slowPoint=0;
// 快指针正常参与循环
for (int i = 0; i < nums.length; i++) {
// 循环过程中,当数组中快指针(i)指向的的值不等于慢指针对应的值,慢指针前进一位,并将快指针指向的值赋值给慢指针,达到删除重复元素的目的
if (nums[i]!=nums[slowPoint]){
slowPoint++;
nums[slowPoint]=nums[i];
}
}
//返回修改后数组的长度
return slowPoint+1;
}