题目:最长无重复子串长度
举例:badcabs, 重点是b
思路:利用滑动窗口方法
public int lengthOfLongestSubstring(String s) {
if (s.length()==0) return 0;
HashMap<Character, Integer> map = new HashMap<Character, Integer>();
int max = 0;
int left = 0;
for(int i = 0; i < s.length(); i ++){
//确定左指针,i为右指针。
//无重复,还需要+1.
if(map.containsKey(s.charAt(i))){
left = Math.max(left, map.get(s.charAt(i)) + 1);
}
//i向右移动的同时,并记录位置。
map.put(s.charAt(i),i);
max = Math.max(max,i-left+1);
}
return max;
}