26. Remove Duplicates from Sorted Array


做题历程:

  1. 本题应该做了不止一次了,本次大概耗时12分钟,独立解出

本题难度尚可,解法就是用Two Pointer,知道了思路,就解出了一半多了。其中一个指针用来遍历整个数组,另外一个指针用来指向新的array的元素,这样说可能不是很清楚,直接上代码把:

class Solution {
public:
    int removeDuplicates(vector<int>& nums) {
        if (nums.empty()) {
            return 0;
        }
        int i = 0;
        int ptr = 0;
        while (i < nums.size()) {
            if (nums[i] == nums[ptr]) {
                ++i;
            }
            else {
                swap(nums[i++], nums[++ptr]);
            }
        }
        return ptr + 1;
    }
};

results matching ""

    No results matching ""