最长无重复子字符串

例子:abcabcd->abc->3

#include<map>
int lengthOfLongestSubstring(string s) {
        int ret = 0;
        map<char, int> m;
        int start = 1;
        for (int i = 1; i <= s.length(); i++)
        {
            char c = s[i - 1];
            if (m[c] >= start)//有重复字符出现时
            {
                start = m[c] + 1;
                m[c] = i;

            }
            else//非重复字符时
            {
                m[c] = i;
                ret = max(ret, i - start + 1);
            }

        }
        return ret;
    }


猜你喜欢

转载自blog.csdn.net/zhouyidaniuniu/article/details/79727186