面试经典 150 题 ---- 删除排序数组中的重复项 II
删除排序数组中的重复项 II
方法一:双指针
这个题目和上一个题目类似:面试经典 150 题 ---- 删除排序数组中的重复项
也是使用双指针 left
指针表示为已经处理出的数组长度,right
表示已经检查过的数组长度,nums[right]
表示待检查的元素,nums[left - 2]
表示为上上个应该被保留的元素。
class Solution {
public int removeDuplicates(int[] nums) {
int len = nums.length;
int left = 2, right = 2;
while (right < len) {
if (nums[left - 2] != nums[right]) {
nums[left] = nums[right];
left ++ ;
}
right ++ ;
}
return left;
}
}