给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
滑动窗口解题法:
public int lengthOfLongestSubstring(String s) {
int maxLength = 0;
HashMap<Character, Integer> map = new HashMap<>();
for (int end = 0 , start = 0; end <s.length() ; end++) {
char c = s.charAt(end);
if (map.containsKey(c)){
start = Math.max(start,map.get(c));
}
maxLength = Math.max(maxLength,end-start+1);
map.put(c,end+1);
}
return maxLength;
}