不要使用额外的空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。
public static int removeDuplicates(int[] nums) {
int p = 0;
for(int i=1;i<nums.length;i++){
if(nums[p]!=nums[i]){
p++;
nums[p]=nums[i];
}
}
return p+1;
}
最后可以获得去重后的数组长度,以及去重后的数组
public static void main(String[] args) {
//
int[] arr = {1,1,2};
int arrSize = removeDuplicates(arr);
int[] newArr = new int [arrSize];
System.arraycopy(arr,0, newArr,0,arrSize );
}
关注我的公众号SpaceObj 领取idea系列激活码

浙公网安备 33010602011771号