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