题目
这道题比较简单,值得注意的是空间复杂度的要求。这里提供两种解法,第一种解法效率比较差,但没有用另外的list。第二章解法利用set进行去重,效率比较高。
参考代码如下:
class Solution:
def removeDuplicates(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
if len(nums) == 0 or len(nums) == 1:
return len(nums)
i = 1
while i < len(nums):
if nums[i] == nums[i-1]:
nums.remove(nums[i])
continue
i = i + 1
return len(nums)
class Solution2:
def removeDuplicates(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
l = sorted(list(set(nums)))
if len(l):
for i in range(0, len(l)):
nums[i] = l[i]
return len(l)
其它题目:leetcode题目答案讲解汇总(Python版 持续更新)
ps:如果您有好的建议,欢迎交流 :-D,
也欢迎访问我的个人博客 苔原带 (www.tundrazone.com)