经典的双指针法删除重复元素
设两个指针,分别是慢指针left和快指针right。当遇到重复元素,慢指针停下来,快指针继续遍历。当遇到不重复的元素,把慢指针的下一个元素的值设为快指针指向的值,然后快指针自增1。
class Solution {
public int removeDuplicates(int[] nums) {
int left=0, right=1;
while(left<nums.length && right<nums.length){
if(nums[left]==nums[right])right++;
else nums[++left]=nums[right++];
}
return left+1;
}
}