题目描述:
解法:
class Solution {
public:
int lengthOfLongestSubstring(string s) {
int n = s.size();
if(n<2) return n;
vector<int> dp(128, -1); //记录上一次字符出现的位置
int res = INT_MIN, mlen = 0;
for (int i = 0; i<n; i++) {
mlen++;
if (i - dp[s[i]]<mlen) {
mlen = i - dp[s[i]];
dp[s[i]] = i;
}
dp[s[i]] = i;
res = max(res, mlen);
}
return res;
}
};