算法

LeetCode26题

2019-03-14  本文已影响0人  zl520k

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。

不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。

请参考https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/

思路也是参考了leetcode网站上,这个方法思路不错,就是当有相同的元素的时候,要跳过,不同的元素的时候,将后面的指针前移,就是快慢指针移动,其中一个low值在不停往前移动,后一个指针是fast指针,快速移动,当fast指针移动到数组末尾,就结束。

分析流程如下:

流程如上,当相同的跳过,不同的时候,就移动元素。这个有一点像查找链表中的是否环思想一样的。

上一篇下一篇

猜你喜欢

热点阅读