博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
剑指 Offer 48. 最长不含重复字符的子字符串(JS实现)
阅读量:560 次
发布时间:2019-03-09

本文共 817 字,大约阅读时间需要 2 分钟。

剑指 Offer 48. 最长不含重复字符的子字符串(JS实现)

思路:

滑动窗口方法
遍历所给字符串,用数组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/

你可能感兴趣的文章