26.、删除排序数组中的重复项
描述:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。
不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。
解法1:遍历数组,i作为慢下标,j作为快下标,当j查找到与i不相同的时候就将i+1置为这个不同的数,然后i往前移动。直到遍历结束。
class Solution {
public int removeDuplicates(int[] nums) {
int i=0;
int j=1;
while(j<nums.length){
if(nums[i]!=nums[j]){
nums[i+1]=nums[j];
i++;
}
j++;
}
return i+1;
}
}