题目描述:
代码如下:要注意记录长度的阶段!
class Solution {
public int lengthOfLongestSubstring(String s) {
HashMap<Character, Integer> window = new HashMap<>();
int left=0,right=0;
int length=Integer.MIN_VALUE;
while (right<s.length()){
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);
}
if(length<right-left){//更新长度
length=right-left;
}
}
return length==Integer.MIN_VALUE?0:length;
}
}