/**
* @param {string} s
* @return {number}
/
/*
* 思路 :我们可以利用set的特性来解这一题
* 1.创建一个set集合 创建两个指针,一个保存最大字符长度 变量
* 2.循环遍历s字串,判断set集合里是否存在s[i],不存在就添加到集合里,
* 存在则删除集合里存在的数据且删除存在数据之前的数据s[j] , j++ 循环往复;因为要得到是连续字串的长度
*/
const lengthOfLongestSubstring = function (s) {
if (s.length == 0) {//极端情况
return 0;
}
let setMap = new Set(), i = 0, j = 0, maxLen = 0;
for (i; i < s.length; i++) {
if (!setMap.has(s[i])) {
setMap.add(s[i])
maxLen = Math.max(maxLen,setMap.size)
} else {
while (setMap.has(s[i])) {
setMap.delete(s[j])
j++
}
setMap.add(s[i])
}
}
return maxLen
};