1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| class Solution { public int lengthOfLongestSubstring(String s) { Map<Character, Integer> map = new HashMap<>(); int left = 0, right = 0; int maxLen = 0;
while(right < s.length()) { char c = s.charAt(right); map.put(c, map.getOrDefault(c, 0) + 1); right ++;
while(map.get(c) > 1) { char leftChar = s.charAt(left); map.put(leftChar, map.get(leftChar) - 1); left ++; }
maxLen = Math.max(maxLen, right - left); } return maxLen; } }
|