2021-07-03

删除有序数组中的重复项

题目描述

2021-07-03

解题思路

快慢指针
1、设置一个快指针和一个慢指针
slow=1 fast=1
2、fast指针往前走,slow看条件走
3、条件
nums[fast]!=nums[fast-1]
说明有重复数字,这个时候把重复数字给nums[slow]然后fast继续往前走
这样每个数字都会给 0 到slow的数组每个元素都不同

代码

class Solution {
    public int removeDuplicates(int[] nums) {
       int len=nums.length;
       int fast=1;
       int slow=1;
       while(fast<len){
           if(nums[fast]!=nums[fast-1]){
               nums[slow]=nums[fast];
               slow++;
           }
           fast++;
       }
       return slow;
    }
}
上一篇:AtCoder Grand Contest 004


下一篇:双指针技巧之快慢指针