题目给定的已经是有序数组,那么我们只需要利用两个指针l和r,l负责记录不重复的元素,r往后遍历,遇到重复的继续往后,不重复的时候把值赋给l指针指向位置,l++,当然,还要考虑nums为空的特殊情况
class Solution {
public int removeDuplicates(int[] nums) {
if(nums.length==0) return 0;
int l=1,r=1;
while(r<nums.length)
{
if(nums[r-1]!=nums[r]){
nums[l]=nums[r];
l++;
}
r++;
}
return l;
}
}