思路
和26一樣,遍歷數(shù)組,然后判斷數(shù)組元素的值是否與目標不相等,不相等,給nums[j]==nums[i];j++,最后return j;
如果元素相等于目標值的話,nums[i]=nums[--n]
public int removeElement(int[] nums, int val) {
int i = 0;
int n = nums.length;
while (i < n) {
if (nums[i] == val) {
nums[i] = nums[n - 1];
// reduce array size by one
n--;
} else {
i++;
}
return n;
}
for實現(xiàn)上面的思路
class Solution {
public int removeElement(int[] nums, int val) {
int pivot = nums.length - 1;
for (int i = 0; i <= pivot; i++)
if (nums[i] == val) nums[i--] = nums[pivot--];
return pivot < 0 ? 0 : pivot + 1;
}
}
}
return n;
}