给定一个数组alist和一个值val,就地删除这个数组中所有的val,并返回这个数组的长度
法一:找到val的,并将其移到数组最后一位,然后数组长度减一。
def delete (alist,val):
i=0
j=len(alist)
while i < j:
if alist[i]=val:
alist[i]=alist[j]
j = j-1
else:
i+=1
return i
法二:使用for循环,维护两个指针,i指针遍历数组中每一个元素,j指针是用来维护遍历过后删除val的新数组
def delete(alist,val):
j=0
for i in range(len(alist)):
if alist[i] != val:
alist[j]=alist[i]
j+=1
return i