题目地址:
https://leetcode.com/problems/remove-duplicates-from-sorted-array/
数组去重,直接用双指针。只需将重复数字里的第一个覆盖到慢指针的数即可。这个“第一个”满足的条件是,要么它的下标是
0
0
0,要么它和它之前的数不相等。
public class Solution {
public int removeDuplicates(int[] nums) {
int j = 0;
for (int i = 0; i < nums.length; i++) {
if (i == 0 || nums[i] != nums[i - 1]) {
nums[j++] = nums[i];
}
}
return j;
}
}
时间复杂度 O ( n ) O(n) O(n),空间 O ( 1 ) O(1) O(1)。