今天在做题的时候看到了这道题,简单贴下自己的解法,写的不好的地方望指导
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