给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。
不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。
-
首先对特殊情况进行处理,即当输入数组为空时,不必做任何操作。
特殊处理 -
定义两个下标,一个下标用来遍历数组,也称为快下标;一个下标定义下一个不同元素的位置,称为慢下标。初始时,两个下标都为0。
快慢下标方法 -
循环遍历数组,并比较当前数组值与慢下标所指数据是否相等。如果相等,则继续遍历数组。如果不相等,则赋值给慢下标后一个位置,然后递增慢下标。
循环的处理 -
循环结束后,慢下标即指向不重复数组最后一个元素。返回慢下标加1,即为不重复数组大小。
完整算法



