最长不含重复字符的子字符串
题目描述
请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。 示例
输入: "abcabcbb"
输出: 3
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
输入: "bbbbb"
输出: 1
解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。
解法:
/**
* @param {string} s
* @return {number}
*/
// 遍历 --滑动窗口
var lengthOfLongestSubstring = function(s) {
if(s.length===0){
return 0;
}
let max=0;
let res='';
for(let i=0;i<s.length;i++){
let temp=res.indexOf(s[i])
if(temp===-1){
res+=s[i];
max=Math.max(res.length,max);
}else{
res=res.slice(temp+1)+s[i];
}
}
max=Math.max(res.length,max);
return max;
};
感悟:
集中精神 我最棒啦