题目
思路
这个题目很简单,从数组中移除给定的元素即可,可以原地删除,也可以删除后的位置填零,但是0得放到最后。
代码
class Solution(object):def removeElement(self, nums, val):""":type nums: List[int]:type val: int:rtype: int"""# 通过del的方式,size是可变的size = len(nums)i = 0 #当前遍历的索引while i < size:if nums[i] == val:del nums[i] # 删除size -= 1 # 同时size-- ,此时i不需要动else:i += 1 #未找到,i++return len(nums)
这里我直接删除数组的元素,这样导致数组大小会动态变化,不能通过range(len(size))
的方式了。
写成了while
循环,注意删除后的处理即可。
如果觉得《LeetCode刷题——27. 移除元素》对你有帮助,请点赞、收藏,并留下你的观点哦!