Given a string, find the length of the longest substring without repeating characters.
Examples:
Given "abcabcbb"
, the answer is "abc"
, which the length is 3.
Given "bbbbb"
, the answer is "b"
, with the length of 1.
Given "pwwkew"
, the answer is "wke"
, with the length of 3. Note that the answer must be a substring, "pwke"
is a subsequence and not a substring.
class Solution {
public int lengthOfLongestSubstring(String s) {
if(s.length() == 0){
return 0;
}
int max = 1;
List<Character> t = new ArrayList<Character>();
int i=0,j=0;
while(j < s.length()){
char tmp = s.charAt(j);
if(t.contains(tmp)){
i=j;
}
else{
t.add(tmp);
}
max = Math.max(max,j-i);
j++;
}
return max;
}
}