力扣题目:26.删除有序数组中的重复项
注意:
第二个整数(i)的区间为1到nums.length,代码主要一个思想将重复的整数覆盖掉,然后获取不重复整数的个数,但是需要考虑特殊情况,即数组为空或者数组只有一个元素。
class Solution {
public int removeDuplicates(int[] nums) {
// 把重复的覆盖掉 但是注意下标溢出情况 以及数组长度为0和1的情况
if(nums.length == 0 || nums.length == 1){
return nums.length;
}
// 使用两个整数记录下标位置:一个记录当前数组(不重复个数),一个目的为寻找不重复数值后进行覆盖
int result = 0;
for(int i = 1; i < nums.length; i++){
if(nums[result] != nums[i]){
result++;
nums[result] = nums[i];
}
}
return result + 1;
}
}