记录自己刷题
class Solution {
public:
int lengthOfLongestSubstring(string s) {
// 如果长度为0, 直接返回最后的结果
if (s.size() == 0) return 0;
// set存滑动窗口
unordered_set<char> window;
// 左边定义0开始
int left = 0, n = s.size();
// 最大长度
int max_len = 0;
for (int i = 0; i < n; i ++)
{
// 如果在window中找到了set中已经有的重复元素
while (window.find(s[i]) != window.end())
{
// 提出滑动窗口最左边的元素
window.erase(s[left]);
// 同时左边界移动
left ++;
}
// 依次更新最大长度
max_len = max(max_len, i - left + 1);
// 将新的字符放入set
window.insert(s[i]);
}
return max_len;
}
};