给定一个字符串,找出其中不含有重复字符的最长子串的长度。
js代码:
var lengthOfLongestSubstring = function (s) {
var arr1 = arr1=s.split("") //将字符串分割成数组
var arr2 = [] //创建一个空数组
var L = 0 //将要得到的子串长度
for (let i = 0; i < arr1.length; i++) { //从数组的第一个元素开始
for (let j = i; j < arr1.length; j++) {
if(arr2.indexOf(arr1[j])==-1){ //如果元素内容不在arr2中则将元素添加到arr2
arr2.push(arr1[j])
}else{
if(L<arr2.length){ //如果发现相同的元素就记录下arr2.length与子串的长度相同
L=arr2.length //L取最大值
}
arr2=[] //重新将arr2清空
break //跳出循环到数组的下一个元素
}
}
}
if (L < arr2.length) {
L = arr2.length //如果字符串只有一位需要额外判断
}
return L
};
题目来源: 力扣