描述
给定一个数组和一个值,使用就地算法将数组中所有等于这个值的元素删除,并返回新数组的长度。
元素的顺序可以更改。你不用去关心大于当前数组长度的空间里面存储的值
class Solution {
public:
int removeElement(int A[], int n, int elem) {
if(n == 0)return n;
int j = n - 1;
for(int i = 0;i <= j;i++){
if(j >= 0 && A[i] == elem){
swap(A[i],A[j--]);
i -= 1;
}
}
return j < 0?0:(j +1) ;
}
};