请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。
// 求一个字符串中的最长连续不包含重复字符的字串
var lengthOfLongestSubstring = function (s) {
let len = s.length;
let str = ''; //存放子串
let max = 0; //最长连续不重复字串的长度
for (let i = 0; i < len; i++) {
let char = s.charAt(i);
let index = str.indexOf(char);
if (index === -1) {
// 不含该子串
str += char;
max = str.length > max ? str.length : max;
} else {
// 含有该子符,将子串的起始start向后移动一位,并拼接上新加的字符
str = str.substr(index + 1) + char;
}
}
return max;
};
console.log(lengthOfLongestSubstring('pwwkew')) //3