1、示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。
2、示例 2:给定 nums = [0,0,1,1,1,2,2,3,3,4],函数应该返回新的长度 5, 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。你不需要考虑数组中超出新长度后面的元素。
3、解题思路:把数组分为两部分,一部分是起始位置到遍历位置部分的数据,另一部分是从遍历位置到末尾的数据,如果当前遍历元素在第二部分,就表示该元素在列表中有多个重复的。删除该元素,直到第二部分不存在该元素为止,然后遍历下一个元素。
4、代码:class Solution: def removeDuplicates(self, nums): i =0 while i <len(nums) : while nums[i] in nums[i+1:]: nums.remove(nums[i]) else: i +=1 return len(nums)