给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。
不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。
请参考https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/
思路也是参考了leetcode网站上,这个方法思路不错,就是当有相同的元素的时候,要跳过,不同的元素的时候,将后面的指针前移,就是快慢指针移动,其中一个low值在不停往前移动,后一个指针是fast指针,快速移动,当fast指针移动到数组末尾,就结束。
分析流程如下:
流程如上,当相同的跳过,不同的时候,就移动元素。这个有一点像查找链表中的是否环思想一样的。
网友评论