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;
}

results matching ""

    No results matching ""