Advertisement

面试题库:150道经典题 ---- 排序后去重

阅读量:

面试经典 150 题 ---- 删除排序数组中的重复项

  • 去除有序数组中的重复元素
      • 方案一:采用双指针技术

删除排序数组重复项问题解析

方法一:双指针

存在一个需要原地修改的题目,很可能仍然采用双指针的解题思路。设定 right 用于标识当前遍历数组所到达的位置下标,而 left 指针则用于指示下一个不同元素应当被放置的下标位置,初始时两个指针均指向索引 1。

复制代码
    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;
    }
    }
    
    
      

全部评论 (0)

还没有任何评论哟~