算法----无重复字符的最长子串

相关标签:哈希

eg.

输入: "abcabcbb"
输出: 3 
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。

解法:

class Solution {
    public int lengthOfLongestSubstring(String s) {
        int res = 0;
        Set set = new HashSet<>();
        for(int l = 0, r = 0; r < s.length(); r++) {
            char c = s.charAt(r);
            while(set.contains(c)) {
                set.remove(s.charAt(l++));
            }
            set.add(c);
            res = Math.max(res, set.size());
        }

        return res;
    }
}

你可能感兴趣的:(算法----无重复字符的最长子串)