leetcode字符串 无重复字符的最长子串

总体比较简单,不细说了

 public int lengthOfLongestSubstring(String s) {
        LinkedHashSet set = new LinkedHashSet<>();
        int lastSize = 0;
        int maxSize = 0;
        for (int i = 0; i < s.length() ; i++) {
            char temp = s.charAt(i);
            set.add(temp);
            if(set.size()==lastSize){
                boolean start = false;
                LinkedHashSet tempSet = new LinkedHashSet<>();
                for (char c: set) {
                    if (start) {
                        tempSet.add(c);
                        continue;
                    }
                    if (c == temp) {
                        start = true;
                    }
                }

                set = tempSet;
                set.add(temp);
            }
            lastSize = set.size();
            if(lastSize > maxSize){
                maxSize = lastSize;
            }
        }
        return maxSize;
    }

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