给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。
function lengthOfLongestSubstring(s: string): number {
let set = new Set();
let left = 0;
let maxLength = 0;
for (let right = 0; right < s.length; right++) {
// 如果遇到了重复字符,就一直移动左边界并删除 Set 里的元素
while (set.has(s[right])) {
set.delete(s[left]);
left++;
}
set.add(s[right]);
// 更新最大长度:窗口大小即为 right - left + 1
maxLength = Math.max(maxLength, right - left + 1);
}
return maxLength;
}