面试经典 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;
    }
}
相关推荐
好好沉淀7 小时前
1.13草花互动面试
面试·职场和发展
阿蒙Amon10 小时前
C#每日面试题-常量和只读变量的区别
java·面试·c#
程序员小白条10 小时前
面试 Java 基础八股文十问十答第八期
java·开发语言·数据库·spring·面试·职场和发展·毕设
xlp666hub12 小时前
Linux 设备模型学习笔记(1)
面试·嵌入式
南囝coding13 小时前
CSS终于能做瀑布流了!三行代码搞定,告别JavaScript布局
前端·后端·面试
踏浪无痕13 小时前
Go 的协程是线程吗?别被"轻量级线程"骗了
后端·面试·go
一只叫煤球的猫14 小时前
为什么Java里面,Service 层不直接返回 Result 对象?
java·spring boot·面试
求梦82014 小时前
字节前端面试复盘
面试·职场和发展
千金裘换酒14 小时前
LeetCode 二叉树的最大深度 递归+层序遍历
算法·leetcode·职场和发展
C雨后彩虹15 小时前
书籍叠放问题
java·数据结构·算法·华为·面试