Remove element
給定一個值,如果 array 裡有這個值,都刪除
一個一定要學會且熟練的技巧!
關鍵就是用一個 index 表示當前可以被取代的位置,把不等於給定元素的值直接放到這個位置
public int removeElement(int[] A, int elem) {
if (A == null || A.length == 0) {
return 0;
}
//remove duplicated element
int index = 0;
int count = 0;
for (int i=0; i<A.length; i++) {
if (A[i] != elem) {
A[index++] = A[i];
} else {
count++;
}
}
return A.length - count;
}