Advertisement

面试题库:150道经典题 ---- 排序数组去重问题(II)

阅读量:

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

  • 去除有序数组中重复元素II
      • 解法一:双指针技术

删除排序数组中的重复项II

方法一:双指针

此问题与前一问题具有相似性:面试经典 150 题 ---- 删除排序数组中的重复项

同样采用双指针的方式,其中 left 指针用于标识当前已处理完成的数组部分长度,而 right 指针则用于表示当前已遍历的数组长度。nums[right] 代表当前待验证的元素,nums[left - 2] 则用于标识前两个应被保留的元素。

复制代码
    class Solution {
    public int removeDuplicates(int[] nums) {
        int len = nums.length;
        int left = 2, right = 2;
        while (right < len) {
            if (nums[left - 2] != nums[right]) {
                nums[left] = nums[right];
                left ++ ;
            }
            right ++ ;

全部评论 (0)

还没有任何评论哟~