有了昨天26的经验,很容易想到用双指针法,处理这种即需要遍历原数组,又需要将元素写到数组中的问题。
public int removeElement(int[] nums, int val) { int n = nums.length; if (n == 0) { return 0; } int fast = 0; int slow = 0; while (fast < n) { if (nums[fast] != val) { nums[slow] = nums[fast]; slow ++; } fast ++; } return slow; }