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;
}
posted @ 2022-12-08 15:07  cn风  阅读(27)  评论(0)    收藏  举报