去除有序数组中重复项

class Solution {
    public int removeDuplicates(int[] nums) {
        int i=0,j=1;
        int n = nums.length;
        if(n == 0) return 0;
        while(j<n){
            if(nums[i] == nums[j]){
                j++;
            }else{
                nums[++i] = nums[j++];
            }
        }

        return i+1;
    }
}

 

class Solution {    public int removeDuplicates(int[] nums) {        int i=0,j=1;        int n = nums.length;        if(n == 0) return 0;        while(j<n){            if(nums[i] == nums[j]){//相等则快指针后移                j++;            }else{//不相等则将待插入的数插到i后面的位置,j后移                nums[++i] = nums[j++];            }        }
        return i+1;//数组下标从0开始所以要加1    }}
posted @ 2022-06-30 22:13  myyssfb  阅读(22)  评论(0)    收藏  举报