class Solution {
public:
int lengthOfLongestSubstring(string s) {
unordered_set<char> exists;
int len = 0;
for (int l = 0, r = 0; r < s.size(); ++r) {
while (exists.count(s[r])) exists.erase(s[l++]);
len = max(len, r - l + 1);
exists.insert(s[r]);
}
return len;
}
};