本文共 817 字,大约阅读时间需要 2 分钟。
思路:
滑动窗口方法 遍历所给字符串,用数组str
来临时存储最长长度不重复字符串,maxLen
来记录最大长度,一旦有与str中元素重复的字符,则将str清空。 var lengthOfLongestSubstring = function (s) { //滑动窗口方法 let str = [], maxLen = 0;//str用来存储临时最长长度字符串 for (let i = 0; i < s.length; i++) { let index =str.indexOf(s[i]); if(index!=-1){ // i是在迁移的,因此不能用i来作为splice的标准,而index+1才是str真的需要splice方法删除的总个数 str.splice(0,index+1); } str.push(s[i]); maxLen = Math.max(maxLen, str.length); } return maxLen; }; console.log(lengthOfLongestSubstring("dvdf")); console.log(lengthOfLongestSubstring("abccbae")); console.log(lengthOfLongestSubstring("ddwaglaslmdajga"));
转载地址:http://pcxpz.baihongyu.com/