Skip to content

无重复字符的最长子串

LeetCode-3

js

var lengthOfLongestSubstring = function(s) {
  let max = 0,
      arr = [] // 窗口
  for(let i = 0; i < s.length; i++) {
    // 如果当前值在窗口中存在,则从第一个开始到当前值位置全部移除,再推入窗口继续记录最大值
    if(arr.includes(s[i])) arr.splice(0, arr.indexOf(s[i]) + 1)
    arr.push(s[i]) // 推入窗口
    max = Math.max(max, arr.length) // 记录窗口的最大值
  }
  return max
}