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