27. Remove Element

Array, In-palce, Two pointer

1. 我的AC

方法一:remove 函数

class Solution(object):
    def removeElement(self, nums, val):
        """
        :type nums: List[int]
        :type val: int
        :rtype: int
        """
        while val in nums:
            nums.remove(val)

方法二

  • in-palce 算法:输出结果覆盖输入,比如,数组 nums 的不断被覆盖
  • 遇到一个目标数,放到 end 指针之后

要注意的是LeetCode中这一类的题目虽然让你return的是一个int长度值,但它会检查nums的内容,其实要求的不仅仅是return的结果,还有对数组的修改

class Solution(object):
    def removeElement(self, nums, val):
        """
        :type nums: List[int]
        :type val: int
        :rtype: int
        """
        start, end = 0, len(nums) - 1
        while start <= end:
            if nums[start] == val:
                nums[start], nums[end] = nums[end], nums[start]
                end = end - 1
            else:
                start +=1
        return start

2. 小结

  1. 删除数组某个元素
nums.remove(val)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容