删除有序数组中的重复项 II
js
// 遍历一次数组,因此时间复杂度为O(n)
// 常数个额外变量,因此空间复杂度为O(1)
var removeDuplicates = function(nums) {
let count = 0
let len = nums.length
for(let i = 0; i < len; i++) {
// 双指针解法,一个指针负责赋值,另一个负责遍历
// 如果当前遍历的值等于前后的值,则直接遍历下一个
if(i > 0 && i < len - 1 && nums[i] === nums[i-1] && nums[i] === nums[i+1]) {
continue
} else {
//
nums[count++] = nums[i]
}
}
console.log(nums)
return count
}
// [1,1,2,2,2,3]