目录

无重复字符的最长子串

目录

无重复字符的最长子串

题目链接

题解:

我的思路是,首先遍历元素,使用 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;
};