Remove element
移除特定的元素,並回傳沒有特定元素的長度,這題要求 in-place 的做法
想法其實很簡單,就是把 array 分堆,不等於 element的分一堆,等於 element 的一堆
這樣想去做就很直覺的寫出來了
public int removeElement(int[] A, int elem) {
if (A == null || A.length == 0)
return 0;
int pos = 0;
for (int i=0; i<A.length; i++) {
if (A[i] != elem) {
A[pos++] = A[i];
}
}
return pos;
}