for(int i = 1;i<numsSize;++i)
{
if(nums[i]==nums[i-1])
{
//从i-1~numsSize-1 都是重复的 只保留到i-1就可以了
if(nums[numsSize - 1]==nums[i-1])
{
numsSize = i;
break;
}
else if(nums[numsSize - 1] != last)//当前数组最后的元素不是重复的
{
nums[i-1]= nums[numsSize - 1];
last = nums[numsSize - 1];
numsSize --;
}
else//当前数组最后的元素是重复的,且已经替换到前面了or ==当前要替换的
{
numsSize --;
i--;
}
}
}
去重完毕后变成逆序数组
初步测试没有问题。