删除元素
给定一个数组和一个值,在原地删除与值相同的数字,返回新数组的长度。
元素的顺序可以改变,并且对新的数组不会有影响。
样例
给出一个数组 [0,4,4,0,0,2,4,4],和值 4
返回 4 并且4个元素的新数组为[0,0,0,2]
1 class Solution { 2 public: 3 /* 4 * @param A: A list of integers 5 * @param elem: An integer 6 * @return: The new length after remove 7 */ 8 int removeElement(vector<int> &A, int elem) { 9 // write your code here 10 if (A.empty()) return 0; 11 vector<int>::iterator iter = A.begin(); 12 int len = A.size(); 13 while(iter != A.end()) { 14 if (elem == *iter) { 15 iter = A.erase(iter); 16 len--; 17 } else { 18 iter++; 19 } 20 } 21 return len; 22 } 23 };