1、题目描述
给定一个字符串,找出其中不含有重复字符的最长子串的长度。
2、解题思路
1、准备一个空数组用来存放所谓不含有重复字符的最长子串
1.1、准备一个最大值记录器,初始值设为0
2、遍历给定字符串,以此判断字符是否存在容器数组内
3、若存在,则清空容器数组,再将此刻字符push()进容器数组
3.1、若不存在,直接将此刻字符push()进容器数组
4、比较数组长度和最大值记录器,根据情况更新记录器
5、返回最大值,即为所求不含有重复字符的最长子串的长度
3、解题代码
/**
* @param {string} s
* @return {number}
*/
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
};