思路:
1.若长度是0和1,返回
2.从左向右遍历,直到遍历到len-1,每次遍历,比较后面的数是否与当前的数相等,若相等则删除当前元素,(注意:此时由于删除了一个元素,所以i不动)
代码:
class Solution {
public int removeDuplicates(int[] nums) {
if(nums.length == 0 || nums.length == 1)return nums.length;
int len = nums.length;
for(int i = 0; i < len-1; i++){
if(nums[i] == nums[i+1]){
for(int j = i; j < len - 1; j++){
nums[j] = nums[j+1];
}
len--;
i--;
}
}
return len;
}
}
class Solution {
public int removeDuplicates(int[] nums) {
if(nums.length == 0 || nums.length == 1)return nums.length;
int len = nums.length;
int i =0;
while(i < len-1){
if(nums[i] == nums[i+1]){
for(int j = i; j < len - 1; j++){
nums[j] = nums[j+1];
}
len--;
i--;
}
i++;
}
return len;
}
}