class Solution {
public:intlengthOfLongestSubstring(string s){
unordered_map<char,int> window;int res=0;int l=0, r=0;while(r<s.size()){char c1=s[r];
r++;
window[c1]++;while(window[c1]>1){char c2=s[l];
window[c2]--;
l++;}
res =max(res, r-l);}return res;}};
双指针
class Solution {
public:intlengthOfLongestSubstring(string s){
unordered_map<char,int> stat;int ans =0;for(int i =0, j =0; i < s.size(); i++){
stat[s[i]]++;while(stat[s[i]]>1){
stat[s[j]]--;
j ++;}
ans =max(ans, i - j +1);}return ans;}};