Remove Duplicates from Sorted Array从排序数组中删除重复项

    题目的大意是在已给数组中去重,然后返回去重后的数组长度,刚开始觉得很奇怪为什么返回的是int,而且结果以数组的形式输出,后来仔细瞅了瞅,发现是要在原有数组上操作,这道题用了双指针,讲真其实也是自己搜索后才用的,不然估计想不到,要多练习一下啦!!!

    还有一个问题就是,返回的slower记得+1,因为是从0开始的,哭唧唧,因为这个纠结半天,总感觉没错但是长度就是少了一位,还以为是最后一位数没比对到。练习第一天,明天也要加油呀~~~

class Solution {
    public int removeDuplicates(int[] nums) {
        int slower = 0;
        int faster = 0;
        while(faster < nums.length){
        	if(nums[slower] != nums[faster]){
        		slower++;
        		nums[slower] = nums[faster];
        	}
        	faster++;
        }
        slower++;
        return slower;
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_42615847/article/details/83019959