当前位置:网站首页>剑指 Offer 48. 最长不含重复字符的子字符串

剑指 Offer 48. 最长不含重复字符的子字符串

2022-06-25 22:09:00 wen_文文

请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。 

// 求一个字符串中的最长连续不包含重复字符的字串
    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

 

原网站

版权声明
本文为[wen_文文]所创,转载请带上原文链接,感谢
https://blog.csdn.net/zhangwen809877665/article/details/108767319