题目:
思路:
因为是排好序的,重复的元素出现在相邻位置。定义两个快慢指针,慢指针用于返回结果,快指针用来寻找与慢指针不同的元素,找到后赋值给慢指针的下一个元素,慢指针向后移
代码:
class Solution {
public int removeDuplicates(int[] nums) {
if(nums.length==0)
return 0;
int s=0; //慢指针
for(int f=0;f<nums.length;f++){
//快指针扫描数组来找到不重复的元素
if(nums[s]!=nums[f]){
nums[s+1]=nums[f];
s++;
}
}
return s+1;
}
}