题目难度:简单
// 我的错误答案
int removeDuplicates(int* nums, int numsSize){
int i,k,l;
int len = numsSize;
for(i=0;i<numsSize;i++){
for(k=i;k<numsSize;k++){
if(nums[i]==nums[k]){
for(l=k;l<numsSize-1;l++){
nums[l]=nums[l+1];
}
len--;
}
}
}
return len;
}
// 官方解答
int removeDuplicates(int* nums, int numsSize) {
if (numsSize == 0) {
return 0;
}
int fast = 1, slow = 1;
while (fast < numsSize) {
if (nums[fast] != nums[fast - 1]) {
nums[slow] = nums[fast];
++slow;
}
++fast;
}
return slow;
}
第一天,呜呜呜T.T