此题参考网上的解决方法,利用哈希表
代码
class Solution {
public:
int lengthOfLongestSubstring(string s) {
int res = 0;
int size = s.length();
if(size==0)
return res;
int flagTable[256];
for(int i = 0; i < 256; ++i)
flagTable[i] = -1;
int start = 0;
for(int i = 0; i < size; ++i)
{
if(flagTable[s[i]]!=-1)
{
while(start<=flagTable[s[i]])
{
flagTable[s[start++]] = -1;
}
}
flagTable[s[i]] = i;
res = max(i-start+1, res);
}
return res;
}
};