leetcode 3. 无重复字符的最长子串

30 阅读1分钟

这道题之前就做过,但是又忘记了。。。 这次再做一次,加深印象

滑动窗口,左右指针

class Solution {
public:
    int lengthOfLongestSubstring(string s) {
        int n = s.size();
        int maxlen = 0;
        unordered_set<char> mySet;
        int left = 0;
        for(int right = 0; right < n; right++) {
            // 存在重复的
            while(mySet.find(s[right]) != mySet.end()) {
                mySet.erase(s[left]);
                left++;
            }
            mySet.insert(s[right]);
            maxlen = max(right - left + 1, maxlen);
        }
        return maxlen;
    }
};