力扣算法学习二

109 阅读1分钟

无重复字符的最长子串

本题通过双指针就能判断出最长不重复字串的长度,所谓双指针其实就是两个变量存入字符转不同的下标然后找不重复的最长子串

var lengthOfLongestSubstring = function (s) {
    var head = 0;
    var end = 0;
    var maxLength = 0;
    while (head < s.length) {
        var str = s.charAt(head);//这里定义一个字符串用来记录你当前的字符串的长度
        end = head + 1
        //如果后面的指针中没有在你划过的字符串中存在就说明不重复
        while (!str.includes(s.charAt(end)) && end < s.length) {
            str += s.charAt(end)
            end++;
        }
        if (str.length > maxLength) {
            maxLength = str.length
        }
        head++
    }
    return maxLength
};