无重复字符的最长子串
目录
无重复字符的最长子串
题目链接
题解:
我的思路是,首先遍历元素,使用 set 来判断是否有重复元素,并实时剔除重复元素来构造一个最长连续的字符串,并不停地比较大小
code:
/**
* @param {string} s
* @return {number}
*/
var lengthOfLongestSubstring = function (s) {
let res = "", max = 0;
let cur = new Set();
if (!s.length) return max;
for (let element of s) {
if (cur.has(element)) {
// 如果有这个,需要移除
let pos = res.split("").findIndex(item => item === element);
res = res.substring(pos + 1) + element
console.log(res)
cur = new Set([...res])
}
else {
cur.add(element)
res += element
}
max = Math.max(max, res.length)
}
return max;
};