java求无重复字符的最长子串

今天在做题的时候看到了这道题,简单贴下自己的解法,写的不好的地方望指导

class Solution {
    public int lengthOfLongestSubstring(String s) {
          int longest = 0;
            int index = 0;
            List list = new ArrayList();
            for(int i =0;i<s.length();i++){
                if(!list.contains(s.charAt(i))){
                    list.add(s.charAt(i));
                    if(list.size() > longest){
                        longest = list.size();
                    }
                }else{
                    for(int j = 0;j<list.size();j++){
                        if((char) list.get(j) == s.charAt(i)){
                            i = j + index;
                            index += j + 1;
                            list = new ArrayList();
                        }
                    }
                }
            }
            return longest;
    }
}

输入: “abcabcbb”
输出: 3

猜你喜欢

转载自blog.csdn.net/weixin_41513708/article/details/84951734
今日推荐