面试经典 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;
    }
}
相关推荐
_日拱一卒23 分钟前
LeetCode:199二叉树的右视图
算法·leetcode·职场和发展
鱼子星_40 分钟前
【数据结构与算法】OJ题目详解(一)-单链表:从易到难的面试OJ题目
c语言·数据结构·算法·链表·面试·职场和发展
凌波粒1 小时前
LeetCode--二叉树层序遍历实战指南
算法·leetcode·职场和发展
xiaoxue..1 小时前
讲讲 浏览器的缓存机制
前端·缓存·面试·浏览器
洛水水1 小时前
【力扣100题】48.乘积最大子数组
算法·leetcode·职场和发展
洛水水1 小时前
【力扣100题】49.分割等和子集
算法·leetcode·职场和发展
洛水水1 小时前
【力扣100题】50.最长有效括号
算法·leetcode·职场和发展
洛水水1 小时前
【力扣100题】44.完全平方数
算法·leetcode·职场和发展
浅念-10 小时前
递归解题指南:LeetCode经典题全解析
数据结构·算法·leetcode·职场和发展·排序算法·深度优先·递归
Mahir0810 小时前
Redis 与 MySQL 数据同步:一致性保证的完整解决方案
数据库·redis·mysql·缓存·面试·数据一致性