https://leetcode-cn.com/problems/remove-element/
def removeElement(nums, val):
"""
移除元素,返回移除后的长度
双指针一次遍历替换,算法复杂度O(n)
"""
i = 0
n = len(nums)
while i < n:
if nums[i] == val:
nums[i] = nums[n - 1]
n -= 1
else:
i += 1
return n
def removeElement(nums, val):
"""
移除元素,返回移除后的长度
直接删除元素,算法复杂度O(n)
"""
n = 0
for i in range(len(nums)):
if nums[i - n] == val:
del nums[i - n]
n += 1
return len(nums)