思路
遍历nums数组,将重复不超过两次的元素直接依次重新放到原nums数组。
解题方法
定义一个指针i指向nums数组的零索引,增强for遍历数组,如果是数组的前两位就直接放到前两个位置并且i++,后面的元素如果不等于前面放好的nums[i-2]的这个元素(因为相同的元素只能出现两次),就依次放到后面。
class Solution {
public int removeDuplicates(int[] nums) {
int i = 0;
for (int num : nums) {
if(i<2 || num != nums[i-2]){
nums[i] = num;
i++;
}
}
return i;
}
}