classSolution{ publicintlengthOfLongestSubstring(String s){ if(s==null||s.length()==0){ return0; } int len = s.length(); int ans = 0; int left = 0; Map<Character, Integer> map = new HashMap<>(); for (int i = 0; i < len; i++) { char c = s.charAt(i); if (map.containsKey(c)) { ans = Math.max(ans, i - left); left = Math.max(map.get(c) + 1, left); } map.put(c,i); } ans = Math.max(ans, len - left); return ans; } }
classSolution{ publicintlengthOfLongestSubstring(String s){ if (s == null || s.length() == 0) { return0; } int len = s.length(); int ans = 0; int left = 0; int[] last = newint[128]; int f = s.charAt(0); for (int i = 1; i < len; i++) { int c = s.charAt(i); if (last[c] != 0 || c == f) { ans = Math.max(ans, i - left); left = Math.max(last[c] + 1, left); } last[c] = i; } ans = Math.max(ans, len - left); return ans; } }