Longest Substring Without Repeating Characters

来源:互联网 发布:清朝皇帝 知乎 编辑:程序博客网 时间:2024/04/28 12:28

方法一: 用一个int a[256] 标记每一个字符最后一次出现的位置,将数组a的各个变量初始化位-1。 

代码如下:

class Solution {public:    int lengthOfLongestSubstring(string s)     {        int a[256];        memset(a, -1, sizeof(a));                int maxlen = 0;        int start = 0;                int i;        for(i=0; i<s.size(); i++)        {            if(a[s[i]] == -1)            {                a[s[i]] = i;            }            else            {                if(i-start > maxlen)                    maxlen = i-start;                start = a[s[i]]+1>start?(a[s[i]]+1):start;                a[s[i]] = i;            }        }                if(i-start > maxlen)            maxlen = i-start;                return maxlen;    }};

0 0