LeetCode #80. Remove Duplicates from Sorted Array II

题目

80. Remove Duplicates from Sorted Array II


解题方法

每个数可以出现两次,设置一个flag代表是否需要删除。遍历数组检查nums[i]是否等于nums[i+1],如果是的话再检查flag的状态,如果是删除状态1,则删除掉当前元素;否则置flag=1,i进一位。如果nums[i]!=nums[i+1],则置flag=0,i进一位。


代码

class Solution:
    def removeDuplicates(self, nums: List[int]) -> int:
        deleteflag = 0
        i = 0
        while i < len(nums) - 1:
            if nums[i] == nums[i+1]:
                if deleteflag:
                    nums.pop(i)
                else:
                    deleteflag = 1
                    i += 1
            else:
                deleteflag = 0
                i += 1
posted @ 2020-10-15 13:45  老鼠司令  阅读(64)  评论(0)    收藏  举报