面试经典 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 小时前
@Transactional做不到的5件事,我用这6种方法解决了
spring boot·后端·面试
yoke菜籽2 小时前
面试150——区间
面试·职场和发展
程序员三藏2 小时前
软件测试之压力测试详解
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·压力测试
Java天梯之路3 小时前
上篇讲坑,这篇讲 “根”!Java 数据类型底层逻辑全解析
java·面试
小南家的青蛙3 小时前
LeetCode面试题 04.06 后继者
算法·leetcode·职场和发展
墨染点香4 小时前
LeetCode 刷题【168. Excel 表列名称】
算法·leetcode·职场和发展
Swift社区5 小时前
LeetCode 431 - 将 N 叉树编码成二叉树
算法·leetcode·职场和发展
川Princess20 小时前
【面试经验】百度Agent架构研发工程师一面
面试·职场和发展·架构·agent
uhakadotcom20 小时前
Next.js 从入门到精通(1):项目架构与 App Router—— 文件系统路由与目录结构全解析
前端·面试·github
用户120391129472620 小时前
面试官最爱问的字符串反转:7种JavaScript实现方法详解
算法·面试