面试经典 150 题 ---- 删除排序数组中的重复项

面试经典 150 题 ---- 删除排序数组中的重复项

删除排序数组中的重复项

方法一:双指针

有是一个原地修改的题目,大概率依旧是双指针。

定义 right 表示遍历数组到达的下标位置,left 指针表示下一个不同元素将要填入的下标位置,两个指针初始都指向 1。

java 复制代码
class Solution {
    public int removeDuplicates(int[] nums) {
        int len = nums.length;
        int left = 1, right = 1;
        while (right < len) {
            if (nums[right] != nums[right - 1]) {
                nums[left] = nums[right];
                left ++ ;
            }
            right ++ ;
        }
        return left;
    }
}
相关推荐
z200509307 小时前
今日算法(依旧二叉树)
算法·leetcode·职场和发展
ricardo19739 小时前
资源加载提速四件套:dns-prefetch / preconnect / preload / prefetch 实战
前端·面试
豹哥学前端9 小时前
JavaScript 异步编程完全指南:从回调地狱到 async/await,一次通关
前端·javascript·面试
kyriewen9 小时前
面试官让我手写Promise,我打开Cursor三秒生成,他愣了两秒说“你过了”
前端·javascript·面试
蝎子莱莱爱打怪9 小时前
我花两年业余时间做了个IM系统,然后呢😂??
后端·flutter·面试
努力成为AK大王10 小时前
Java并发线程核心知识(一)
java·开发语言·面试
绪风75010 小时前
Airtest_Ide
职场和发展
один but you10 小时前
Hash表
缓存·面试·职场和发展
_深海凉_11 小时前
LeetCode热题100-验证二叉搜索树
算法·leetcode·职场和发展
_深海凉_12 小时前
LeetCode热题100-二叉树的右视图
算法·leetcode·职场和发展