[LeeCode27]移除元素Remove Element

给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。

不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。

元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。


    def removeElement(self, nums, val):
        """
        :type nums: List[int]
        :type val: int
        :rtype: int
        """
        j=0
        for i in range(len(nums)):
            if nums[j]==val:
                del nums[j]
            else:
                j+=1
        return len(nums)

踩的坑:

    第一次调试的时候,没有额外引入j序号,导致del元素后nums列表的长度发生改变,会报错

执行结果:




猜你喜欢

转载自blog.csdn.net/weixin_42058047/article/details/80071125