26. Remove Duplicates from Sorted Array【力扣】

题意理解

删除排序好的数组中的重复元素,返回删除后的数组长度,同时要求删除后的数组利用原数组的空间用来存放元素值。

问题分析

本题的返回格式有要求,数组本身是引用,删除后的数组也被返回用作输出新数组。这样就限制了发挥的空间,做法如下:

遍历后的元素就可以废掉。

用一个指针A(下标)遍历数组,用另一个指针B(下标)指向最后一个不同的数字。遍历时,如果指针A指向的数不等于指针B所指的数,说明找到了新的不重复的数,将指针B后移,不重复的数复制到新指针B的位置。实际上指针B指向的是删除后的数组的最后一位。

删除后输出的长度是指针B+1.

其他

此题没想出来,看了答案知道了这种设计空间复杂度只有1,充分利用原数组的空间。

链接

猜你喜欢

转载自blog.csdn.net/xiexie1357/article/details/88087554