0
点赞
收藏
分享

微信扫一扫

26.删除有序数组中的重复项


26.删除有序数组中的重复项

要求原地删除,不能有额外数组。

双指针法:

public int removeDuplicates(int[] nums) {
int n = nums.length;
if (n == 0) {
return 0;
}
int fast = 1;
int slow = 1;
while (fast<n) {
if(nums[fast-1] != nums[fast]) {
nums[slow] = nums[fast];
slow++;
}
fast++;
}
return slow;
}

想了一下为什么用双指针,因为数组需要一个指针(fast)来进行扫描数组的元素,而且需要知道下一个元素的位置在哪(slow)。

举报

相关推荐

0 条评论