一、 题目
给定一个数组和一个值。删除当中和给定值相等的元素。返回得到的新数组长度
二、 分析
刚開始我以为仅仅须要返回最后的数组长度即可了呢!
后来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;
}
};