一、 题目
给定一个数组和一个值,删除其中和给定值相等的元素。返回得到的新数组长度
二、 分析
刚开始我以为只需要返回最后的数组长度就行了呢!后来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; } };
原文:http://blog.csdn.net/zzucsliang/article/details/39978641