1.标题
2.代码
var lengthOfLongestSubstring = function(s) {
let str = new Set(); //用set数据结构
let length = 0;
let head=0 , end=0 ;
while(end<s.length){
if(str.has(s[end])){
if(str.size>length) {
length=str.size
}
else{
str.clear();
head = head +1;
end = head +1;
str.add(s[head]) //每次先把开始加进去
}
}
else{
str.add(s[end])
end+=1
}
}
return str.size>length ? str.size :length
};
3.执行效率
时间复杂度o(n),控件复杂的o(1)
4.使用的解题思路
- 使用一个数组进行保存结果,使用常量保存开始位置,结束位置,最长长度
- 遍历完成后,输出
- 使用滑动窗接口思想