解题思路
初始化i、j,i用于遍历数组,j用于交换元素,遍历数组若元素值与elem相等,则与j下标的元素兑换,j–,若元素值与elem不相等,则继续遍历。最后i > j时结束遍历,返回j+1即为数组的长度。
代码
class Solution {
public:
int removeElement(int A[], int n, int elem) {
int j = n - 1;
int i = 0;
while(i <= j){
if(A[i] == elem){
int temp = A[i];
A[i] = A[j];
A[j--] = temp;
}
else
i++;
}
return (j + 1);
}
};