题目连接:Leetcode 026 Remove Duplicates from Sorted Array
解题思路:修改在原先数组上,维护一个指针p指向不重复数组的末尾位置。遍历数组,每个数与它前一个数比较,不同的话将当前值赋予p所指向的位置,并且p加1。
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
int count = nums.size(), p = 1;
for (int i = 1; i < nums.size(); i++) {
if (nums[i-1] == nums[i]) count--;
else nums[p++] = nums[i];
}
return count;
}
};