题目:
Given an array and a value, remove all instances of that value in place and return the new length.
The order of elements can be changed. It doesn't matter what you leave beyond the new length.
分析与解答:和上个题是一样的算法;
class Solution {
public:
int removeElement(int A[], int n, int elem) {
if (!n)
return n;
int index = n - 1;
for (int i = n - 1; i >= 0; i--) {
if (A[i] != elem) {
A[index] = A[i];
index--;
}
}
for (int i = 0; i < n - index - 1; i++) {
A[i] = A[i + index + 1];
}
return n-index-1;
}
};