LeetCode 26 _ 删除排序数组中的重复项
1. 题目描述
2. 代码
1 class Solution: 2 def removeDuplicates(self, nums: 'List[int]') -> int: 3 prevalue = 0 4 n = len(nums) 5 count = 0 6 i,j = 0,0 7 while i < n: 8 if i == 0:#第一个元素 9 prevalue = nums[i] 10 count += 1 11 i += 1 12 j += 1 13 else:#非第一个元素 14 cur = nums[i] 15 if cur == prevalue:#连续相同值 16 i += 1#指针后移 17 else:#非相同值 18 nums[j] = cur#给数组重新赋值 19 count += 1#不同元素的数量+1 20 prevalue = cur#更新prevalue 21 i += 1#读取下标+1 22 j += 1#写入下标+1 23 return count
思路: 双指针法,定义了2个指针,读取 i 和 写入 j 。