题目: 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。
leetcode题目链接
我的JavaScript解法
var lengthOfLongestSubstring = function(s) {
let subString = ''
let maxLength = 0
for (i=0; i < s.length; i++) {
let index = subString.indexOf(s[i])
if(index > -1) {
subString = subString.substring(index+1)
}
subString = subString + s[i]
if (maxLength < subString.length) {
maxLength = subString.length
}
}
return maxLength
};
解析: 利用 滑动窗口的方法,同时利用JavaScript 的字符串的有indexOf以及substring 方法,只用一个指针就可以实现滑动窗口
复杂度
- 时间复杂度:
- 空间复杂度:, 是最长子串的大小