LeetCode:26. Remove Duplicates from Sorted Array

在这里插入图片描述

这一题是耻辱。看了无数遍没看出最初的bug在哪。

class Solution {
public:
    int removeDuplicates(vector<int>& nums) {
        int sz = nums.size();
        if (sz <= 1)
            return sz;
        int fast = 1, slow = 1;
        while (fast < sz) {
            if (nums[fast] == nums[fast-1])
                ++fast;
            else 
                nums[slow++] = nums[fast++];
        }
        return slow;//slow指向的是下一个可以复制的位置,所以本身打小就代表了结果的长度,不用加一
    }
};

最初这里最后返回的slow+1

posted @ 2019-09-12 09:24  于老师的父亲王老爷子  阅读(13)  评论(0)    收藏  举报