/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @return int整型 */ function lengthOfLongestSubstring(s) { // write code here let arr = []; let maxL = 0; for (let i of s) { if (arr.includes(i)) { arr = arr.slice(arr.indexOf(i) + 1); } arr.push(i); maxL = Math.max(maxL, arr.length); } return maxL; } module.exports = { lengthOfLongestSubstring: lengthOfLongestSubstring, };
1、定义arr数组记录每次保存的字符串, maxL 保存最大长度,
2、循环字符串,将每个字符push进入arr数组中,如果数组中包含字符,则去除该字符之前的字符,
3、比较arr.length,和maxL ,记录最大值。