1 public int removeDuplicates(int[] nums) { 2 //返回值len的长度用++方便,因为填充一个值可能删除很多值 3 //初始化为1,填充则len++ 4 int len = 1; 5 OUT: 6 for (int i = 0, p = 0; i < nums.length - 1; i++) { 7 //注意是<,不是!= 8 if (nums[i] < nums[i + 1]) { 9 len++; 10 continue; 11 } 12 i++; 13 for (int j = i + 1; j <= nums.length; j++) { 14 if (j == nums.length) break OUT; 15 if (nums[i - 1] < nums[j]) { 16 nums[i] = nums[j]; 17 len++; 18 if (nums[i] >= nums[i + 1]) i++; 19 else break; 20 } 21 } 22 } 23 return len; 24 }