题目描述
Given an array nums and a value val, remove all instances of that value in-place and return the new length.
Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory.
The order of elements can be changed. It doesn't matter what you leave beyond the new length.
样例
Example :
Given nums = [3,2,2,3], val = 3, Your function should return length = 2, with the first two elements of nums being 2. It doesn't matter what you leave beyond the returned length.
思路分析
这题和26题一样,十分诡异,不知道出题者的意图,果断点了踩
代码
public int removeElement(int[] A, int elem) {
int m = 0;
for(int i = 0; i < A.length; i++){
if(A[i] != elem){
A[m] = A[i];
m++;
}
}
return m;
}
结果