题目:
算法思想:因为不能开辟新的空间,所以我们需要直接在原数组进行修改。我们定义index表示当前比较的元素下标,然后length表示需要返回的长度。当遇到不同元素时把比较元素后面那个元素替换掉,遇到相同元素长度减一
代码:
public int removeDuplicates(int[] nums) {
if(nums.length == 0){
return 0;
}
int index = 0;
int length = nums.length;
for(int i = 1;i < nums.length;i++){
if(nums[index] == nums[i]){
length--;
}
else {
index++;
nums[index] = nums[i];
}
}
return length;
}