一、题目描述
☆☆☆二、解法
思路:快慢指针。
class Solution { public int removeDuplicates(int[] nums) { if (nums == null || nums.length == 0) return 0; /** * 方法1 */ int index = 0; int count = 1; for (int i = 1; i < nums.length; i++) { if (nums[index] == nums[i]) { count++; }else { count = 1; } if (count <= 2) { nums[++index] = nums[i]; } } return index+1; /** * 方法2 */ /* int index = 2; for (int i = 2; i < nums.length; i++) { if (nums[i] != nums[index - 2]) { nums[index++] = nums[i]; } } return index; */ } }