1、题目描述
给定一个字符串,找出其中不含有重复字符的最长子串的长度。
2、解题思路
1、准备一个空数组用来存放所谓不含有重复字符的最长子串 1.1、准备一个最大值记录器,初始值设为0 2、遍历给定字符串,以此判断字符是否存在容器数组内 3、若存在,则清空容器数组,再将此刻字符push()进容器数组 3.1、若不存在,直接将此刻字符push()进容器数组 4、比较数组长度和最大值记录器,根据情况更新记录器 5、返回最大值,即为所求不含有重复字符的最长子串的长度
3、解题代码
var lengthOfLongestSubstring = function(s
) {
let arr
= [], max
= 0
for(let i
= 0;i
< s
.length
; i
++) {
let index
= arr
.indexOf(s
[i
])
if(index
!== -1) {
arr
.splice(0, index
+1);
}
arr
.push(s
.charAt(i
))
max
= Math
.max(arr
.length
, max
)
}
return max
};