LeetCode:最长无重复子串

int lengthOfLongestSubstring(char* s){

    int len=0;
    int start=0;
    int end=0;
    char map[128]={0};
    map[(int)*(s+start)]=1;
    while(*(s+end)!='\0')
    {

        // if(map[(int)*(s+end)]==0)
        // {
        //     map[(int)*(s+end)]=1;
        //     end++;
        // }
        // else
        // {
        //     len=end-start+1>len?end-start+1:len;
        //     while( map[(int)*(s+end)]!=0)
        //     {
        //         map[(int)*(s+start)]=0;
        //         ++start;
        //     }

        // }
        len=(end-start+1)>len?(end-start+1):len;
        end++;
        while(map[(int)*(s+end)]!=0)
        {
            map[(int)*(s+start)]=0;
            ++start;
        }
        map[(int)*(s+end)]=1;
    }
    return len;
}
posted @ 2021-09-28 12:45  无极至上  阅读(66)  评论(0编辑  收藏  举报