面试经典 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;
    }
}
相关推荐
best66610 小时前
Javascript有哪些遍历数组的方法?哪些不支持中断?那些不支持异步遍历?
前端·javascript·面试
小时前端11 小时前
前端架构师视角:如何设计一个“站稳多端”的跨端体系?
前端·javascript·面试
元亓亓亓11 小时前
LeetCode热题100--79. 单词搜索
算法·leetcode·职场和发展
小时前端14 小时前
“能说说事件循环吗?”—— 我从候选人回答中看到的浏览器与Node.js核心差异
前端·面试·浏览器
白露与泡影14 小时前
MySQL中的12个良好SQL编写习惯
java·数据库·面试
小时前端15 小时前
Vuex 响应式原理剖析:构建可靠的前端状态管理
前端·面试·vuex
汤姆Tom15 小时前
CSS 自定义属性深度应用:构建动态样式系统
前端·css·面试
Java天梯之路17 小时前
Java String 吃透这篇就够了!
java·面试
海梨花17 小时前
百度(商业)测开面经
java·面试·测开