80. 删除有序数组中的重复项 II - 力扣(LeetCode)
public class LeetCode80 {
public int removeDuplicates(int[] nums) {
int n = nums.length;
if (n <= 2) return n;
int idx = 2; // 从第三个元素开始判断
for (int i = 2; i < n; i++) {
if (nums[i] != nums[idx - 2]) {
nums[idx++] = nums[i];
}
}
return idx;
}
}
/**
* 思路:
* 1. 创建两个指针,l和r,l指向第一个数,r指向第二个数
* 2. 如果r的数和l的数相同,并且count小于2,则将r的数赋给l,l和r都向右移动一位
* 3. 如果r的数和l的数相同,并且count大于等于2,则r向右移动一位
* 4. 如果r的数和l的数不相同,则将r的数赋给l,l和r都向右移动一位
/**