题目描述
给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。
双指针
Python 实现
def removeDuplicates(nums: List[int]) -> int: j = 0 for i in range(len(nums)): if nums[j] != nums[i]: j += 1 nums[j] = nums[i] return j + 1
Java 实现
public int removeDuplicates(int[] nums) { int j = 0; for (int i = 0; i < nums.length; i++) { if (nums[i] != nums[j]) { nums[++j] = nums[i] } } return j + 1; }