面试经典 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;
    }
}
相关推荐
Accerlator7 小时前
2026 年 4 月 1 日电话面试
面试·职场和发展
前端Hardy12 小时前
前端必看!LocalStorage这么用,再也不踩坑(多框架通用,直接复制)
前端·javascript·面试
前端Hardy12 小时前
前端必看!前端路由守卫这么写,再也不担心权限混乱(Vue/React通用)
前端·javascript·面试
凌波粒14 小时前
LeetCode--344.反转字符串(字符串/双指针法)
算法·leetcode·职场和发展
啊哦呃咦唔鱼14 小时前
LeetCode hot100-543 二叉树的直径
算法·leetcode·职场和发展
秋风不问归客14 小时前
Springboot面试全面整理
spring boot·后端·面试
小冷coding15 小时前
【面试】结合项目整理的场景面试题,覆盖 Java 基础、锁、多线程、数据库、分布式锁 / 事务、消息中间件等核心维度
java·数据库·面试
我叫黑大帅15 小时前
PHP中的官方操作数据库PDO
后端·面试·php
张元清16 小时前
React 鼠标追踪与交互效果实战
前端·javascript·面试
橘子编程16 小时前
操作系统原理:从入门到精通全解析
java·linux·开发语言·windows·计算机网络·面试