本来应该一次过的,结果没想到leetcode放了一堆奇怪的字符。。
做题就该思路清晰啊。
class Solution {
public:
int lengthOfLongestSubstring(string s) {
int loc[255] = {0};
memset(loc,-1,sizeof(loc));
int i = 0, n = s.length(), ind, maxsize = 0, tmpsize = 0, start = 0;
for (i = 0; i < n; i ++)
{
ind = s[i];
if(loc[ind] == -1){
loc[ind] = i;
continue;
}
int oldloc = loc[ind];
tmpsize = i - start;
if (tmpsize > maxsize)maxsize = tmpsize;
i = oldloc;
start = i+1;
memset(loc,-1,sizeof(loc));
}
tmpsize = n - start;
maxsize = tmpsize > maxsize? tmpsize : maxsize;
return maxsize;
}
};