题解 | #最长不含重复字符的子字符串#
最长不含重复字符的子字符串
http://www.nowcoder.com/practice/48d2ff79b8564c40a50fa79f9d5fa9c7
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s string字符串
* @return int整型
*/
public int lengthOfLongestSubstring (String s) {
if(s.equals(" ")){
return 1;
}
// write code here
Map<Integer,Integer> map = new HashMap<>();
int max = 0;
int start = -1;
for(int i = 0;i < s.length();i ++){
if(map.containsKey(s.charAt(i)-'a') && map.get(s.charAt(i)-'a') > start){
start = map.get(s.charAt(i)-'a');
}
map.put(s.charAt(i)-'a',i);
max = Math.max(max,i - start);
}
return max;
}
}