3. Longest Substring Without Repeating Characters

class Solution {
    public int lengthOfLongestSubstring(String s) {
        Map<Character, Integer> map=new HashMap<Character, Integer>();
        int maxlen=0;
        for(int j=0,i=0;i<s.length();i++)
        {
            char c=s.charAt(i);
            if(map.containsKey(c)&&j<=map.get(c))
            {
                maxlen=Math.max(maxlen, i-j);
                j=map.get(c)+1;
                map.put(c, i);
            }
            else if(i==s.length()-1)
                maxlen=Math.max(maxlen, i-j+1);
                
            map.put(c, i);
        }
        return maxlen;
    }
}
原文地址:https://www.cnblogs.com/asuran/p/7566565.html