1.题目要求
leetcode 26.删除有序数组中的重复项
2.解题思路
本题题意十分明确,要求修改原数组,去掉重复元素,并按出现顺序排列。
实现方法:双指针
3.代码实现(C++实现)
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if(nums.size()==0)
return 0;
int fast=1,slow=1;
//fast找到数组中每个不重复的元素 赋给slow位置
//slow指向无重复数组的最前沿
while(fast<nums.size()){
if(nums[fast]!=nums[fast-1]){
nums[slow]=nums[fast]; //原地修改数组
slow++;
}
fast++;
}
return slow;
}
};