/**
* 无额外空间,只要前n个是不重复的就行,不需要修改后面的数字
* @param nums 已排序的数组
* @return 去除重复数字后的长度
*/
public int removeDuplicates(int[] nums) {
if(nums == null || nums.length == 0) {
return 0;
} else if(nums.length == 1) {
return 1;
}
// 使用两个指针
int j = 0;
for(int i = 1; i < nums.length; i++) {
if(nums[j] != nums[i]) {
j++;
nums[j] = nums[i];
}
}
return ++j;
}
转载于:https://www.cnblogs.com/angelica-duhurica/p/10971387.html