解题思路
选择用快慢指针法
设置快指针1和满指针0;
遍历数组
当慢指针的值和快指针值不相同时,将快指针的值赋给慢指针后一位的值
最后因为是返回数组的长度所以返回值应该是慢指针+1
代码
class Solution {
public int removeDuplicates(int[] nums) {
int n = nums.length;
int fastdex = 1;
int lowdex = 0;
for(;fastdex<n;fastdex++){
if(nums[lowdex] != nums[fastdex]){
nums[++lowdex] = nums[fastdex];
}
}
return lowdex+1;
}
}