给定一个字符串,找出不含有重复字符的最长子串的长度。
示例 1:
输入: "abcabcbb"
输出: 3
解释: 无重复字符的最长子串是 "abc",其长度为 3。
示例 2:
输入: "bbbbb"
输出: 1
解释: 无重复字符的最长子串是 "b",其长度为 1。
示例 3:
输入: "pwwkew"
输出: 3
解释: 无重复字符的最长子串是 "wke",其长度为 3。
请注意,答案必须是一个子串,"pwke" 是一个子序列 而不是子串。
var lengthOfLongestSubstring = function(s) {
var str_item=s.split('');
var number_before=0;
var number_end=0;
var str='';
for(let i=0;i<str_item.length;i++){
str+=str_item[i];
number_before++;
for(let j=i+1;j<str_item.length;j++){
if(str.indexOf(str_item[j])===-1){//在str中根据indexOf查找是否有当前字符,如果为-1则表示没有,将当前字符加入str,长度加以
str+=str_item[j];
number_before++;
if(number_before>number_end){
number_end=number_before;
}
if(j === s.length-1){
return number_end
}
}
else {
number_before=0;
str='';
break;
}
}
if(number_before>number_end){
number_end=number_before;
}
}
return number_end;
return str;
};