解题思路在于 分两种情况 遇到个数大于2的和小于2的
每次fast如果与slow前两个不相同时,就代表slow此时个数一定是大于2的,就把fast的值赋值给slow,如果是相同的值时,fast就不断++去找不相同的值,直到找到结尾,最后返回slow
class Solution {
public int removeDuplicates(int[] nums) {
int fast=2,slow=2;
int len=nums.length;
while(fast<len){
if(nums[fast]!=nums[slow-2]){
nums[slow]=nums[fast];
slow++;
}
fast++;
}
return slow;
}
}