您的当前位置:首页正文

Q27 Remove Element

来源:华拓网

The order of elements can be changed. It doesn't matter what you leave beyond the new length.

Example:
Given nums = [3,2,2,3], val = 3,

Your function should return length = 2, with the first two elements of nums being 2.
注意点:

空间复杂度要求为O(1)

解题思路:

遍历列表,如果和列表中元素和目标元素相同,则从列表中删除此元素。删除后列表长度会改变,注意不要越界。

Pyhton实现:
class Solution:
    def removeElement(self, nums, val):
        """
        :type nums: List[int]
        :type val: int
        :rtype: int
        """
        i = 0
        while i < len(nums):
            if nums[i] is val:
                del nums[i]
            else:
                i +=1
        return len(nums)        

a = [3,2,2,3]
b = Solution() 
print(b.removeElement(a,3))  # 2