1. var removeDuplicates = function (nums) {
    2. // 慢指针初始为0;
    3. let k = 0;
    4. // 循环中的变量i是快指针
    5. for (let i = 0; i < nums.length; i++) {
    6. // 如果 快慢指针指向的元素不同
    7. if(nums[i] !== nums[k]) {
    8. // 慢指针++; 快指针是 循环变量每次都会自增,不需要单独操作
    9. k++;
    10. // 将快指针 指向的元素覆盖慢指针当前的元素
    11. nums[k] = nums[i]
    12. }
    13. }
    14. return k+1;
    15. };

    image.png