滑动窗口,还不需要need窗口
注意每次循环中的while循环,就算没有执行while循环,也要记得下面的那一句
max = Math.max(max,right-left);
别忘记了执行了!!!
class Solution {
public int lengthOfLongestSubstring(String s) {
Map<Character,Integer> window = new HashMap<>();
int left = 0,right = 0;
int size = s.length();
int max = 0;
if(size<=0){
return 0;
}
while(right<size){
char c = s.charAt(right);
right++;
window.put(c,window.getOrDefault(c,0)+1);
while(window.get(c)>1){
char d = s.charAt(left);
left++;
window.put(d,window.get(d)-1);
}
max = Math.max(max,right-left);
}
return max;
}
}