0
点赞
收藏
分享

微信扫一扫

leetcode-26. 删除有序数组中的重复项-js快慢指针法

题目

在这里插入图片描述

代码

 /**
  * 快慢指针
  *     快指针在前面探路,慢指针在后面
  *     当快指针和慢指针指向的元素相同时,快指针继续走;
  *     当快指针和慢指针指向的元素不同时,慢指针往前走一步,
  *         并把快指针指向的值赋值给慢指针指向的值,相当于把大一点的数往前挪了,
  *         最后快指针往前走一步
  */
var removeDuplicates = function(nums) {
    if (!nums.length) return 0;

    let fast = 1, slow = 0;
    while (fast < nums.length) {
        if (nums[fast] === nums[slow]) {
            fast++;
        } else {
            slow++;
            nums[slow] = nums[fast];
            fast++;
        }
    }
    return slow + 1;
};

参考资料

  • 如何去除有序数组的重复元素
  • 贴张图,有助于理解,图源为上面的链接,来自labuladong大佬
    在这里插入图片描述
举报

相关推荐

0 条评论