https://leetcode.com/problems/remove-element/description/
题意:给一个数组和一个数val,删去所有等于这个数的元素
思路:和上一题差不多,两个指针i,j。i用于存放最终的数组,j往前遍历。先排序,然后j往前,找到等于val的元素就跳过,否则就放到i。
class Solution:
def removeElement(self, nums, val):
"""
:type nums: List[int]
:type val: int
:rtype: int
"""
n = len(nums)
if n == 0:
return 0
i, j = 0, 0
nums.sort() #不排序也可以
while j < n:
if nums[j] == val:
j += 1
else:
nums[i] = nums[j]
i += 1
j += 1
return i
仔细想想,其实不排序也可以的。