3. 无重复字符的最长子串
采用同向双指针
int lengthOfLongestSubstring(char * s){
int map[256] = {0};
int l, r;
l = r = 0;
int maxlen = 0;
int len = strlen(s);
while(r < len) {
map[s[r]]++;
while(map[s[r] ] >1) {
map[s[l]]--;
l++;
}
maxlen = maxlen < r - l + 1? r -l + 1: maxlen;
r++;
}
return maxlen;
}

浙公网安备 33010602011771号