class Solution {
public int lengthOfLongestSubstring(String s) {
char[] cs=s.toCharArray();//键输入的字符串转化为字符数组
Map map=new HashMap();//定义一个集合存储历史
int flag=0;//标志位
boolean never=true;//是否找到了
int len=0;
for(int i=0;i<cs.length;i++){
if(map.containsKey(cs[i])&&(int)map.get(cs[i])>=flag){
never=false;
if(i==cs.length-1){
int temp=i-flag;
if(len<temp){
len=temp;}
break;
}
if(len<i-flag){
len=i-flag;
}
flag=(int)map.get(cs[i])+1;
}else if(i==cs.length-1){
int temp=i-flag+1;
if(len<temp){
len=temp;}
}
map.put(cs[i],i);
}
if(never){
return cs.length;
}
return len;
}
}