class Solution {
public int lengthOfLongestSubstring(String s) {
if(s.length() == 0) return 0;
Map<Character,Integer> map = new HashMap<>();
int l = 0;
int r = 0;
int max = 0;
while(r < s.length()){
map.put(s.charAt(r),map.getOrDefault(s.charAt(r),0) + 1);
while(map.getOrDefault(s.charAt(r),0) > 1){
map.put(s.charAt(l),map.get(s.charAt(l)) - 1);;
l++;
}
int len = r - l + 1;
max = Math.max(len,max);
r++;
}
return max;
}
}
用hash表即可