题目描述

题解
// 力扣
// 题目与剑指48题相同 https://blog.csdn.net/fisherish/article/details/113500203
// 执行用时:10 ms, 在所有 Java 提交中击败了32.06%的用户
// 内存消耗:38.6 MB, 在所有 Java 提交中击败了48.59%的用户
import java.util.HashSet
class Solution {
public int lengthOfLongestSubstring(String s) {
if (s.length() == 0 || s.length() == 1)
return s.length()
char[] strs = s.toCharArray()
int res = 0
HashSet<Character> set = new HashSet<>()
int left = 0, right = 0
while (right < s.length()) {
System.out.println(res)
if (set.contains(strs[right])) {
while (left < right - 1)
set.remove(strs[left++])
}
else {
set.add(strs[right])
}
right++
res = Math.max(res, (right - left))
}
return res
}
}