/*
* @lc app=leetcode.cn id=3 lang=javascript
*
* [3] 无重复字符的最长子串
*/
// @lc code=start
/**
* @param {string} s
* @return {number}
*/
var lengthOfLongestSubstring = function(s) {
// 创建一个set存字符串
const set = new Set()
//定义俩个指针和一个记录长度
let i=0,j=0,maxlength=0
// 先判断字符串是不是0
if(s.length===0){
return 0
}
for (let i = 0; i < s.length; i++) {
if(!set.has(s[i])){//没有对应的字符就存到set里面
set.add(s[i])
// 比较set的长度和maxlength
maxlength = Math.max(maxlength,set.size)
}else{
while(set.has(s[i])){//如果有改字符串就删除set里面的元素,直到没有该元素,再把该元素追加到set里面
set.delete(s[j])
j++
}
set.add(s[i])
}
}
// 最终返回maxklength
return maxlength
};
// @lc code=end