27.Remove Element

27.Remove Element

总结:遍历并原地修改列表。(边迭代边pop会影响列表索引)

解法:

1.快慢双指针法—都从起始端遍历。O(n),O(1)

描述 快指针负责遍历数组,将符合条件的元素与慢指针对应的元素交换或者覆盖,快慢指针都递增,快指针一直移动,只有符合条件,慢指针才移动

例子

i=0
for j in range(len(nums)):
    if(nums[j]!=val):
        nums[i]=nums[j]
        i+=1

return i

2.快慢双指针法—从两端遍历。O(n),O(1)

描述 起始段快指针负责遍历,将符合条件的元素与末端慢指针交换,快慢指针都向中间移动,只要符合条件慢指针就移动,不符合条件快指针才移动,当快指针等于慢指针时停止

例子

n=len(nums)
i=0
while(i

你可能感兴趣的:(27.Remove Element)