题目链接
(求最长不重复的子串)
代码
class Solution {public:int lengthOfLongestSubstring(string s) {map<char, int> prePos; /* 记录上一次出现的位置 例如prePos['f']=3 代表字符'f'上次出现在3的位置 */// 结果int result = 0;// 当前长度int len = 0;for (int i = 0; i < s.length(); i++) {if (prePos.find(s[i]) == prePos.end()) {len++;} else {if (i - (len + 1) + 1 > prePos[s[i]]) {len++;} else {len = i - prePos[s[i]];}}prePos[s[i]] = i;result = max(len, result);}return result;}};
