题目简述:将数字中的重复元素去除,切不重复的元素从小到大排列,数组上操作
拓展:可以结合83题一起完成,这一题是链表的处理
这一题的重点就是在原数组上进行操作,如果不在原数组上操作,直接赋值到新数组上也是解法
var removeDuplicates = function (nums) {
let slow = 0
// 起始位置是 1,不同的指向
for (let i = 1; i < nums.length; ++i) {
// 不相同则进行赋值,赋值需要将 slow 挪向下一个位置
if (nums[slow] !== nums[i]) {
nums[++slow] = nums[i]
}
}
// 需要返回无重复数字的长度,slow最后指向的是数组尾部,长度需要 +1
return slow + 1
}