Description:
题目大意:找到最长的不重复子串
解题思路:
算法标签:字符串,unordered_set
利用unordered_set判断子串,从左往右依次判断
代码:
class Solution {
public:
int lengthOfLongestSubstring(string s) {
unordered_set<char>word;
int len = s.length();
int right = -1,ans = 0;
for(int i = 0;i < len;i++) {
// 删除左边的节点
if(i != 0)
word.erase(s[i-1]);
//判断右节点是否重复
while(right+1 < len && !word.count(s[right+1])) {
word.insert(s[right+1]);
right++;
}
ans = max(ans,right-i+1);
}
return ans;
}
};