Task3:移除元素

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

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

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

解题:

class Solution:
    def removeElement(self, nums: List[int], val: int) -> int:
        p = 0  # 定义一个指针标志
        for num in nums:
            if num != val:
                nums[p] = num  # 覆盖数组操作,得到「题目要求的数组」
                p += 1  # 指针后移
        return p   # 返回「题目要求的数组」的长度

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/remove-element
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

发布了5 篇原创文章 · 获赞 0 · 访问量 109

猜你喜欢

转载自blog.csdn.net/weixin_43535441/article/details/104638408
今日推荐