题目描述
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
样例
输入: "abcabcbb"
输出: 3
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
C 代码
int lengthOfLongestSubstring(char * s){
int a[200] = {0};
int res = 0;
int n = strlen(s);
if (n == 0) return 0;
for (int i = 0, j = 0; i < n; i ++ )
{
int h = ((s[i]));
a[h] ++ ;
while(a[h] > 1)
{
int c = ((s[j]));
if (a[c] > 0)
{
a[c] -- ;
}
j ++ ;
}
if (res < i - j + 1) {
res = i - j + 1;
}
// res = max(res, i - j + 1);
}
return res;
}