Longest Substring Without Repeating Characters
class Solution {
public int lengthOfLongestSubstring(String s) {
int result=0;
int front=0;
int after=0;
char[] chars = s.toCharArray();
Map<Character,Integer> map = new HashMap<>();
while(after<chars.length&&front<chars.length){
if(map.containsKey(chars[after])){ // 重复情况
if(front<map.get(chars[after])+1){
front = map.get(chars[after])+1;// 前指针挪到第一个重复的字符的后一位置
}
}
map.put(chars[after],after);
after++;
if(after-front>result){ // 保存result的最大值
result = after - front;
}
}
return result;
}
}
看到了提示想到了hashmap