题目:
我们简单分析一下这道题目
他要求我们不使用额外的数组空间,也就是我们只能在原数组上修改
本质上,就是在原数组上删除重复数字
贴上代码:
class Solution {
public int removeDuplicates(int[] nums) {
int count=0;
if(nums.length<=1) return nums.length;
int pre=nums.length-2;
int cur=nums.length-1;
while(pre>=0){
if(nums[pre]==nums[cur]){
int temp=cur;
count++;
while(temp<nums.length-1){
nums[temp]=nums[temp+1];
temp++;
}
}
pre--;
cur--;
}
return nums.length-count;
}
}
结果如下: