天天看點

我的刷題日記(24)

給定一個字元串,請你找出其中不含有重複字元的 最長子串 的長度。

var lengthOfLongestSubstring = function(s) {
    let resStr = ""; // 最長不重複字元
    let targetStr = ""; // 用來做比較字元
    for(let i = 0; i < s.length; i++) {
        if (targetStr.length > 0 && targetStr.indexOf(s[i]) !== -1) { 
        	// 字元串中包含該字元截取該字元之後的字元
            targetStr = targetStr.slice(targetStr.indexOf(s[i])+1) + s[i]
        } else {
        	// 不包含則拼接上
            targetStr+=s[i]
        }
        if (targetStr.length > resStr.length) {
            resStr = targetStr;
        }
    }
    return resStr.length;
};