给定一个数组和一个值,在这个数组中原地移除指定值和返回移除后新的数组长度。
不要为其他数组分配额外空间,你必须使用 O(1) 的额外内存原地修改这个输入数组。
元素的顺序可以改变。超过返回的新的数组长度以外的数据无论是什么都没关系。
示例:
给定 nums = [3,2,2,3],val = 3, 你的函数应该返回 长度 = 2,数组的前两个元素是 2
解体思路:
创造一个变量res来从nums[0]重新存储nums,通过i对nums进行遍历,找到一个和val不同的值,则相应使用res 存储,并进行+1
解体代码:
res=0
for i in range(0,len(nums)):if nums[i]!=val:
nums[res]=nums[i]
res+=1
return res