力扣 - 编程题3 - 无重复字符的最长子串

3. 无重复字符的最长子串
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。

示例 1:

输入: “abcabcbb”
输出: 3
解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。
示例 2:

输入: “bbbbb”
输出: 1
解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。
示例 3:

输入: “pwwkew”
输出: 3
解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。
请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。

JS代码:

/**
 * @param {string} s
 * @return {number}
 */
var lengthOfLongestSubstring = function(s) {
    var a='';
    //var count=0;
    var max=0;
    if(s.length===1){ //考虑只有一个字符的情况
        return 1;
    }else{
       for(var i=0;i<s.length;i++){
           a=a+s[i];
           var count=1;
           
           for(var j=i+1;j<s.length;j++){
               if(a.indexOf(s[j])===-1){
                    count++;
                    a=a+s[j];
                    if(count>max){
                        max=count;
                    }
                }else{
                    if(count>max){
                        max=count;
                    }
                    a='';
                    break;
                }
               
               
           }
        }
     return max;
    }
    
    
    
    
};

猜你喜欢

转载自blog.csdn.net/yanqianzq/article/details/90024627
今日推荐