/* * @Description: 3. Longest Substring Without Repeating Characters * @Author: libk * @Github: https://github.com/libk */ /** * @param {string}s * @return {number} */ const lengthOfLongestSubstring = function (s) { const hashTable = {} let start = -1 let maxLen = 0
for (let end = 0; end < s.length; end++) { let cur = hashTable[s[end]] if (cur !== undefined && cur > start) { // 如果遇见重复的字符,且重复的字符在窗口之内 start = cur } hashTable[s[end]] = end maxLen = maxLen > (end - start) ? maxLen : end - start } return maxLen }