🌰:
输入: s = "pwwkew" 输出: 3 解释: 因为无重复字符的最长子串是"wke"
,所以其长度为 3。 请注意,你的答案必须是 子串 的长度,"pwke"
是一个子序列,不是子串
首先我们需要明确一个定义,什么是子串,什么是子序列
子串:是父串中连续的一段字符串
子序列:是父串中不连续的一段字符串
例:s = "pwwkew"
子串: "wke"、"pwwk"、"kew"等
子序列:"pwke" 、"wew"、"pkw"等
题解:
var s='abcabcbb'
var lengthOfLongestSubstring = function(s) {
let res = []
let max = 0
//遍历字符串中的每个字符
for (let str of s) {
while (res.includes(str)) {
res.shift()//是在去重呢
console.log('str',str)
}
res.push(str)
console.log('res',res)
max = Math.max(max,res.length)//取子串中长度最长的那个
}
console.log('max',max)
return max
};
lengthOfLongestSubstring(s);