1. public static int removeDuplicates(int[] nums) {
    2. // 常规双指针法
    3. // 下标0的元素必然存在且不是需要删除的元素,从下标1开始
    4. // 结果res存放的是下标
    5. int res = 0;
    6. for (int i = 1, j = 1; i < nums.length; i++) {
    7. // 每当遍历到下标i与前一个数不一样时,最终res个数++
    8. if (nums[i] != nums[i - 1]) {
    9. res++;
    10. nums[res] = nums[i];
    11. }
    12. }
    13. return res + 1;
    14. }