面试经典 150 题 ---- 删除排序数组中的重复项
删除排序数组中的重复项
方法一:双指针
有是一个原地修改的题目,大概率依旧是双指针。
定义 right
表示遍历数组到达的下标位置,left
指针表示下一个不同元素将要填入的下标位置,两个指针初始都指向 1。
java
class Solution {
public int removeDuplicates(int[] nums) {
int len = nums.length;
int left = 1, right = 1;
while (right < len) {
if (nums[right] != nums[right - 1]) {
nums[left] = nums[right];
left ++ ;
}
right ++ ;
}
return left;
}
}