import java.util.*; public class Solution { public int lengthOfLongestSubstring (String s) { int maxLength = 1; if(s.length()<2){ return s.length(); } int left = 0; int right = 1; HashSet<Character> set = new HashSet<>(); set.add(s.charAt(left)); while(right<s.length()){ if(!set.contains(s.charAt(right))){ set.add(s.charAt(right)); maxLength = Math.max(maxLength,set.size()); }else{ while(left<right && s.charAt(left)!=s.charAt(right)){ set.remove(s.charAt(left)); left++; } left++; } right++; } return maxLength; } }