c版
int lengthOfLongestSubstring(char* s) {
int n = strlen(s);
int indexes[128] = {0};
int max = 0;
int len;
for (int i = 0, j = 0; j < n; j++) {
if (indexes[s[j]] > i) {
i = indexes[s[j]];
}
indexes[s[j]] = j + 1;
len = j - i + 1;
if (len > max) {
max = len;
}
}
return max;
}
c++版
详见
http://www.cnblogs.com/grandyang/p/4480780.html
非常感谢博主,讲的很细