class Solution {
public:
int longestSubstringWithoutDuplication(string s) {
//利用双指针i,j一个指向最开始字符,一个指向后一个字符,每次j后移一位,如果当前字符中
//已经有j中的字符,i后移至没有的位置
unordered_map<char,int> hash;
int res = 0;
for(int i = 0,j = 0;j < s.size();++j){
hash[s[j]]++;
while(hash[s[j]] > 1) hash[s[i]]--,i++;
res = max(res,j - i + 1);
}
return res;
}
};