26. 删除排序数组中的重复项
题目:给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。
思路:
1.原地删除,Space:O(1)
2.双指针法 Time:O(n)
#python
class Solution:
def removeDuplicates(self, nums: List[int]) -> int:
id = 0
for ind,value in enumerate(nums):
if value != nums[id]:
id+=1
nums[id]=value
return id+1
//java
public int removeDuplicates(int[] nums) {
if (nums.length == 0) return 0;
int i = 0;
for (int j = 1; j < nums.length; j++) {
if (nums[j] != nums[i]) {
i++;
nums[i] = nums[j];
}
}
return i + 1;
}