题意理解
删除排序好的数组中的重复元素,返回删除后的数组长度,同时要求删除后的数组利用原数组的空间用来存放元素值。
问题分析
本题的返回格式有要求,数组本身是引用,删除后的数组也被返回用作输出新数组。这样就限制了发挥的空间,做法如下:
遍历后的元素就可以废掉。
用一个指针A(下标)遍历数组,用另一个指针B(下标)指向最后一个不同的数字。遍历时,如果指针A指向的数不等于指针B所指的数,说明找到了新的不重复的数,将指针B后移,不重复的数复制到新指针B的位置。实际上指针B指向的是删除后的数组的最后一位。
删除后输出的长度是指针B+1.
其他
此题没想出来,看了答案知道了这种设计空间复杂度只有1,充分利用原数组的空间。
链接