文章目录
- 题目
- 方法一:快慢指针
题目
方法一:快慢指针
class Solution {
//快慢指针
public int removeDuplicates(int[] nums) {
int fast = 1;
int slow = 0;
while(fast < nums.length){
if(nums[fast] == nums[fast-1]) fast++;//若当前元素和之前元素相同 则移动快指针
else if(nums[fast] != nums[fast-1]){//若当前元素和之前元素不相同 则利用slow指针记录fast-1位置的元素 并且移动slow 和fast往前一个位置
nums[slow] = nums[fast-1];
slow++;
fast++;
}
}
nums[slow] = nums[fast-1];//处理最后一个组重复或不重复的元素
return slow+1;
}
}