1、自己想法
比较简单,用count计数不相同数组元素个数,如有不同元素改变数组(跟官方解法相同了)
class Solution {
public int removeDuplicates(int[] nums) {
int count=0;
for(int i=0;i<nums.length;i++){
if(nums[i]!=nums[count]){
count++;
nums[count]=nums[i];
}
}
return count+1;
}
}
2、参考别人思路
多加一个判断,没有重复字符时,不用复制
class Solution {
public int removeDuplicates(int[] nums) {
int count=0;
for(int i=0;i<nums.length;i++){
if(nums[i]!=nums[count]){
count++;
if(i-count>0){
nums[count]=nums[i];
}
}
}
return count+1;
}
}