去重题,双指针,,因为题干说原地删除,且nums其余元素不重要。一个cur记录当前不重复的数应该插在第几位了,for循环里的i相当于是第二个指针(右指针),遍历数组来找不重复的元素
class Solution {
public int removeDuplicates(int[] nums) {
int curIndex = 0;
//int rightIndex = 0;
for(int i = 1;i<nums.length;++i){
if(nums[i] != nums[i-1]){
curIndex++;
nums[curIndex] = nums[i];
}
}
return ++curIndex;
}
}