LeetCode-80 删除有序数组中的重复项 II
Table of Contents
LeetCode-80 删除有序数组中的重复项 II #
Solution 1 #
使用双指针来进行原地修改. $l$ 是待修改位置, $r$ 是目前遍历到的元素的位置. 如果 $nums[r] == nums[l - 2]$ , 那么当前的元素不应该被填入; 否则应该填入.
代码如下:
class Solution:
def removeDuplicates(self, nums: List[int]) -> int:
n = len(nums)
if n <= 2:
return n
l, r = 2, 2
while r < n:
if nums[l - 2] != nums[r]:
nums[l] = nums[r]
l += 1
r += 1
return l