面试经典 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;
    }
}
相关推荐
前端Hardy2 小时前
面试官:JS数组的常用方法有哪些?这篇总结让你面试稳了!
javascript·面试
牛奶3 小时前
React 底层原理 & 新特性
前端·react.js·面试
牛奶3 小时前
ts随笔:面向对象与高级类型
前端·面试·typescript
牛奶3 小时前
React 基础理论 & API 使用
前端·react.js·面试
SuperEugene4 小时前
从 Vue2 到 Vue3:语法差异与迁移时最容易懵的点
前端·vue.js·面试
SuperEugene5 小时前
接口类型管理:从 any 到有组织的 api.d.ts
前端·面试·typescript
牛奶5 小时前
ts随笔:基础与类型系统
前端·面试·typescript
用户73992986959725 小时前
DeepSeek/GPT-4 落地实战:我如何用 Node.js + AI 手搓一个“面试神器”
面试
牛奶5 小时前
JS随笔:浏览器 API(DOM 与 BOM)
前端·javascript·面试
牛奶5 小时前
JS随笔:异步编程与事件循环
前端·javascript·面试