找出最长子串,这个子串不包含重复的字符。
方法:hashtable.
class Solution {
public:
int lengthOfLongestSubstring(string s) {
unordered_set<char> dict;
int length = 0;
int k = 0;
for(int i = 0; i < s.size(); i++) {
if(dict.find(s[i]) != dict.end()) {
length = max(length, i - k);
while(s[k] != s[i]) {
dict.erase(s[k++]);
}
k++;
}
dict.insert(s[i]);
}
length = max(length, (int)(s.length() - k));
return length;
}
};