题目的大意是在已给数组中去重,然后返回去重后的数组长度,刚开始觉得很奇怪为什么返回的是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;
}
}