解题思路:
使用list.count方法判断值是否重复,重复,则使用list.index方法找到重复值下标,使用list.pop方法删除对应的值,每删一个重复值,对应值重复次数-1
代码
python
class Solution(object):
def removeDuplicates(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
t = len(nums)
if t ==1:
print(1)
print(nums)
elif t ==0:
print(0)
print([])
else:
for i in range(t-1):
#加上if i<t-1,否则会报错
if i<t-1:
count1 = nums.count(nums[i])
while count1>1:
position=nums.index(nums[i],i+1)
nums.pop(position)
count1-=1
t = len(nums)
print(t)
print(nums)
ps:若无改变原列表要求,可以使用集合来去重 list(set(列表))或者增加一个列表,新的列表装无重复数据:依次从原列表区数据,判断新列表是否有对应数据,无则将数据添加至新列表,若使用pop()取出,记得倒置 reverse()