题目描述
请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度
示例:
思路:
之前做过相关的题,思路是建立hashmap,k值储存charAt(i)的值,value 储存位置。
代码:
class Solution {
public int lengthOfLongestSubstring(String s) {
if (s.length()==0){
return 0;
}
int max=0;
int left=0;
HashMap<Character, Integer> map = new HashMap<>();
for (int i=0;i<s.length();i++){
if(map.containsKey(s.charAt(i))){
left = Math.max(left,map.get(s.charAt(i)) + 1);
}
max=Math.max(max,i-left+1);
map.put(s.charAt(i),i);
}
return max;
}
}