剑指 Offer 48. 最长不含重复字符的子字符串
请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。
s.length <= 40000
class Solution { public int lengthOfLongestSubstring(String s) { int res = 0; Set<Character> set = new HashSet<>(); for(int l = 0, r = 0; r < s.length(); r++) { char c = s.charAt(r); while (set.contains(c)){ set.remove(s.charAt(l++)); } set.add(c); res = Math.max(res, r - l + 1); } return res; } }