此题我曾尝试了使用数组下标来操作,最后发现想象成数组指针考虑起来要方便的多。
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if(nums.empty())
{
return 0;
}
int len=nums.size();
int count=0;
for(int i=1;i<len;i++)
{
//“i”和“count”两个指针,其中,count较保守,他一直在观望;
//而“i”作为“侦察兵”来排查——如果和count所指的值一样,就继续向下排查
if(nums[i] != nums[count])
{
count++;
nums[count]=nums[i];
}
}
return count+1;
}
};