使用滑动窗口来结合Set来解决。
var lengthOfLongestSubstring = function(s) {
const set=new Set();
const len=s.length;
let rk=-1,max=0;
for(let i=0;i<len;i++){
//如果i不是0,就删除指针i的上一个节点在set中保存的值
if(i!=0){
set.delete(s.charAt(i-1));
}
while(rk+1<len&&!set.has(s.charAt(rk+1))){
set.add(s.charAt(rk+1));
rk++;
}
max=Math.max(max,rk-i+1);
}
return max;
};