题目
思路
这道题我被绕进去了导致花了挺久来思考,其实很简单。重点在于三个地方:1、不能为另一个数组生成额外空间,不然的话直接塞新数组里面就完事。2、新数组后面部分是什么无所谓。3、目标的数组是一个排了序的数组。所以这道题只需要遍历数组,发现重复的就把后面的往前挪并且覆盖掉重复的就行。。具体说,可以维护2个指针,慢指针开始指向数组第一个元素,快指针指向第二个元素,然后快指针不断判断自己当前元素和前一个元素是否相同,相同则快指针后移,不相同则将当前值赋值给慢指针的后一个元素,慢指针后移。最后慢指针指向的元素及前面所有元素都是不重复的。
1 | class Solution(object): |