题目:
示例:
可以尝试解题
我是使用了双指针的解法,当快指针j与慢指针i所指的数相等时,意味着重复项,反推即是当nums[i] !=nums[j]时,则是非重复项,此时将nums[j]赋值给nums[i+1],慢指针移动,快指针继续遍历下一个非重复项,返回的个数则是i + 1 大概就是这样
代码如下:
class Solution {
public int removeDuplicates(int[] nums) {
int i = 0;
for(int j = 1;j < nums.length;j++) {
if(nums[i] !=nums[j]) {
nums[++i] = nums[j];
}
}
return i + 1;
}
}