力扣-26-删除有序数组中的重复项
原题:
https://leetcode.cn/problems/remove-duplicates-from-sorted-array/description/?envType=study-plan-v2&envId=top-interview-150
题解:
public int removeDuplicates(int[] nums) {
if (nums.length==1) {
return 1;
}
int now = 0;
int p = 1;
while (p < nums.length) {
if (nums[now] != nums[p]) {
nums[++now]=nums[p];
}
p++;
}
return now+1;
}
解析:
数组有序、排重,那么最前面肯定是确定的值,只需要快慢指针,慢指针指向需要操作的数据,快指针指向与慢指针不同的数据,交换即可。