Leetcode3,无重复字符的最长子串
思路:滑动窗口
class Solution {
public int lengthOfLongestSubstring(String s) {
int l = s.length();
if (s == null || l == 0){
return 0;
}
if (l == 1){
return 1;
}
int begin = 0;
int end = 0;
int max = 0;
Set<Character> set = new HashSet<>();
while(end < l){
char nowChar = s.charAt(end);
if (!set.contains(nowChar)){
set.add(nowChar);
int nowLength = end - begin +1;
if (nowLength > max){
max = nowLength;
}
end += 1;
}else {
set.remove(s.charAt(begin));
begin += 1;
}
}
return max;
}
}