# 循环删除列表中的元素时,最好从后向前删
# 因为列表总是“向前移”,所以可以倒序遍历,即使后面的元素被修改了,还没有被遍历的元素和其坐标还是保持不变的。
# leetcode submit region begin(Prohibit modification and deletion)
class Solution(object):
def removeDuplicates(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
n = len(nums)
if n < 2:
return n
flag = nums[-1]
for i in range(n-2, -1, -1):
if nums[i] == flag:
del nums[i]
else:
flag = nums[i]
# print(nums)
return len(nums)
# leetcode submit region end(Prohibit modification and deletion)
循环删除列表中的元素时,最好从后向前删。因为列表总是“向前移”,所以可以倒序遍历,即使后面的元素被修改了,还没有被遍历的元素和其坐标还是保持不变的。