题目如题:
输入样例:
abba
输出:
2
C++ 代码
class Solution {
public:
int lengthOfLongestSubstring(string s) {
map<char, int> data;
int max = 0;
int i, j;
for(i = 0, j = 0; i < s.length(); i++){
if(data.count(s[i]) && data[s[i]] >= j){
max = ((i - 1) - j + 1) > max? ((i - 1) - j + 1) : max;
j = data[s[i]]+1;
data[s[i]] = i;
}else{
data[s[i]] = i;
}
}
max = max > ((i-1-j+1)) ? max : (i-1-j+1);
return max;
}
};