给你一个有序数组 nums ,请原地删除重复出现的元素, 使每个元素只出现一次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组 并在使用 O(1) 额外空间的条

给你一个有序数组 nums ,请原地删除重复出现的元素,
使每个元素只出现一次 ,返回删除后数组的新长度。
不要使用额外的数组空间,你必须在原地修改输入数组 
并在使用 O(1) 额外空间的条件下完成

使用双指针,当慢指针和快指针的值相等时,慢指针不动,快指针向右移动一位;当慢指针和快指针的值相等时,慢指针向右移动一位,把快指针的值赋给慢指针的值,然后快指针再向右移动一位

    public int removeDuplicates(int[] nums) {

    if(nums.length == 0) return 0;
    int i = 0;
    for(int j = 1;j < nums.length;j++){
        if(nums[j] != nums[i]){
            i++;
            nums[i] = nums[j];
        }
    }
    return i + 1;

    }