题目描述
- 看到群友说今天的每日是简单题,我啪的一下就开刷了,很快啊!
- 注意点:原地 & O(1)空间
代码 & 思路
- 有点类似移动零,就是把右边的有效值,一个个往左边推,
class Solution {
public int removeDuplicates(int[] nums) {
// 特殊情况考虑
if(nums.length == 0){
return 0;
}
// 维护一个 nowLen & temp
int nowLen = 1;
int temp = nums[0];
for(int i = 1; i < nums.length; i++){
// 不是重复值的情况,更新 nowLen & temp,以及实际数组值
if(nums[i] != temp){
nums[nowLen] = nums[i];
temp = nums[i];
nowLen++;
}
}
return nowLen;
}
}