1. 程式人生 > >LeetCode26、27、80

LeetCode26、27、80

LeetCode26

class Solution {

public:
    int removeDuplicates(vector<int>& nums) {
        if(nums.empty())
            return 0;
        int k=0;
        for(int i=1;i<nums.size();i++){
            if(nums[i]!=nums[k]){
                nums[++k]=nums[i];
            }
        }
        return k+1;
    }

};

LeetCode27

class Solution {
public:
    int removeElement(vector<int>& nums, int val) {
        int k=0;
        for(int i=0;i<nums.size();i++){
            if(nums[i]!=val){
                nums[k]=nums[i];
                k++;
            }
        }
        return k;
    }

};

LeetCode80

class Solution {
public:
    int removeDuplicates(vector<int>& nums) {
        if(nums.size()<=2)
            return nums.size();
        int k=1;
        for(int i=2;i<nums.size();i++){
            if((nums[i]!=nums[k])||((nums[i]==nums[k])&&(nums[k]!=nums[k-1]))){
                nums[++k]=nums[i];
            }
            
        }
        return k+1;
    }
};