题目:
@param {number[]} nums
@return {number}
例如:给定数组 nums = [1,1,2]
1.函数应该返回新的长度 2
2.并且原数组 nums 的前两个元素被修改为 1, 2
解答:
function removeDuplicates (nums) {
if (nums.length == 0) {
return 0
}
let j = 0;
for (let i = 1; i < nums.length; i++) {
if (nums[i] != nums[j]) { //如果后一个元素不等于前一个元素
console.log(i)
j++;
// console.log(j)
nums[j] = nums[i]; //把当前元素的前面的值插入
}
}
return j + 1;
}
let nums = [0, 0, 1, 1, 1, 2, 2, 3, 3, 4];
console.log(removeDuplicates(nums)); // => 5
console.log(nums); // => [ 0, 1, 2, 3, 4, 2, 2, 3, 3, 4 ]