给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
双指针
用数组记录每个字符是否出现过
class Solution {
public int lengthOfLongestSubstring(String s) {
int[] map = new int[256];
int right = 0;
int max = 0;
for(int i = 0; i < s.length(); i++){
while(right < s.length() && map[s.charAt(right)] == 0){
map[s.charAt(right)] = 1;
right++;
}
max = Math.max(max, right - i);
map[s.charAt(i)] = 0;
}
return max;
}
}