面试经典 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;
    }
}
相关推荐
人道领域1 小时前
【LeetCode刷题日记】1047:双栈法与双指针法巧妙消除相邻重复字符
java·算法·leetcode·职场和发展
礼拜天没时间.1 小时前
力扣热题100实战 | 第33期:搜索旋转排序数组——二分查找的变体艺术
算法·leetcode·职场和发展·旋转数组·搜索旋转排序数组
studyForMokey1 小时前
【Android面试】数据库
android·数据库·面试
Ruihong1 小时前
Vue 的 :deep/:global/:slotted 怎么转成 React ?一份对照指南?
vue.js·react.js·面试
kyriewen2 小时前
React Diff算法:3个“神级假设”让虚拟DOM快得像闪电
前端·react.js·面试
鹏程十八少3 小时前
7. 2026金三银四 Java 虚拟机面试终极版:32 道必考题 + 图解 + 源码精讲
后端·面试·前端框架
雨季mo浅忆3 小时前
模拟面试梳理
面试·职场和发展
穿条秋裤到处跑18 小时前
每日一道leetcode(2026.04.24):距离原点最远的点
算法·leetcode·职场和发展
EnCi Zheng19 小时前
S10-蓝桥杯 17822 乐乐的积木塔
职场和发展·蓝桥杯
AIDF202620 小时前
终章:回归常态——在平庸的世界里,靠“赛道”与“态度”突围
面试