LeetCode 3 无重复字符的最长子串

105 阅读1分钟
class Solution {
    public int lengthOfLongestSubstring(String s) {
        HashMap<Character, Integer> map = new HashMap<>();
        int left = 0, max = 0;
        for(int i=0; i<s.length(); ++i){
            if(map.containsKey(s.charAt(i))){
                left = Math.max(map.get(s.charAt(i)) + 1,left);
            }
            map.put(s.charAt(i),i);
            max = Math.max(max, i-left+1);
        }
        return max;
    }
}