26 Array
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if(nums.size()==0) return 0;
int slow=0, fast = 1;
while(fast<nums.size()){
if(nums[fast]!=nums[slow]){
nums[++slow]=nums[fast];
}
fast++;
}
return slow+1;
}
};
83 LinkedList
class Solution {
public:
ListNode* deleteDuplicates(ListNode* head) {
if(head==nullptr) return head;
ListNode* slow = head;
ListNode* fast = slow->next;
while(fast!=nullptr){
if(fast->val != slow->val){
slow->next = fast;
slow = slow->next;
}
fast=fast->next;
}
slow->next = nullptr;
return head;
}
};