思路:
如果数组长度为0或者为1 ,直接返回数字长度;
定义一个临时变量temp和一个计数器k(这个k就代表不重复的数字的个数,从1开始计数),初始值为nums [ 0 ] ,循环比较temp和nums[i],假设nums [ i ]不等于temp,说明下标位于0~i-1之间的数字等于nums[0],把nums[i]赋给temp和nums[k],k自增
代码如下
class Solution {
public int removeDuplicates(int[] nums) {
if(nums.length ==0 || nums.length == 1) {
return nums.length;
}
int temp = nums[0];
int k=1;
for(int i=1;i<nums.length;i++) {
if(temp != nums[i]) {
temp = nums[i];
nums[k] = nums[i];
k++;
}
}
return k;
}
}