跳转至

27. Remove Element

Leetcode

题目

[Easy]

Given an array and a value, remove all instances of that value in-place and return the new length.

Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory.

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.

中文题目

删除一个数组中某一特定数值的元素,返回删除后的数组长度。 注意点:操作结束后的数字排列顺序不需要与之前相同, 超出返回长度的部分不需要处理

思路

太简单了,不解释

class Solution(object):
    def removeElement(self, nums, val):
        """
        :type nums: List[int]
        :type val: int
        :rtype: int
        """
        count = 0
        n = len(nums)
        for i in range(n):
            if nums[i] != val:
                nums[count] = nums[i]
                count += 1

        return count