一、 题目
给定一个数组和一个值,删除其中和给定值相等的元素。返回得到的新数组长度
二、 分析
刚开始我以为只需要返回最后的数组长度就行了呢!后来WA了一次才知道还得把心数组构造好。所以就扫描数组,将不相等的值保存,相等的值删除,扫过的元素要么保存,要么丢弃,这时就可以用另一个标志tar来记录。
class Solution {
public:
int removeElement(int A[], int n, int elem) {
int tar;
for(int i=0;i<n;i++) {
if(elem!=A[i]) {
A[tar]=A[i];
tar++;
}
}
return tar;
}
};