leetcode 3:无重复字符的最长子串

使用队列来实现

int lengthOfLongestSubstring(std::string s) {
    std::deque<char> a;
    if(s.size()==0)
        return 0;
    int d=0;
    int max=0;
    int flag=0;
    for(int i=0;i<s.size();i++){
        d=0;
        flag=0;
        for(int j=0;j<a.size();j++){
            if(s[i]==a[j])
            {
                 d=a.size();
                 if(d>max)
                     max=d;
                 for(int c=0;c<=j;c++){
                     a.pop_front();
                 }
                 a.push_back(s[i]);
                 flag=1;
                 break;
            }
        }
        if(flag==0)
            a.push_back(s[i]);
    }
    d=a.size();
    if(d>max)
        max=d;
    return max;
}

猜你喜欢

转载自blog.csdn.net/u013263891/article/details/83043190