使用 JavaScript 求出给定字符串中不含有重复字符的最长子串的长度

it2025-04-26  4

1、题目描述

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

2、解题思路

1、准备一个空数组用来存放所谓不含有重复字符的最长子串 1.1、准备一个最大值记录器,初始值设为0 2、遍历给定字符串,以此判断字符是否存在容器数组内 3、若存在,则清空容器数组,再将此刻字符push()进容器数组 3.1、若不存在,直接将此刻字符push()进容器数组 4、比较数组长度和最大值记录器,根据情况更新记录器 5、返回最大值,即为所求不含有重复字符的最长子串的长度

3、解题代码

/** * @param {string} s * @return {number} */ var lengthOfLongestSubstring = function(s) { let arr = [], max = 0 for(let i = 0;i < s.length; i++) { let index = arr.indexOf(s[i]) if(index !== -1) { arr.splice(0, index+1); } arr.push(s.charAt(i)) max = Math.max(arr.length, max) } return max };
最新回复(0)