无重复字符的最长子串

代码:

int lengthOfLongestSubstring(char* s) {
int i, j, l = 0, Length = strlen(s), max = 1; /*l指向每一轮比较的起点,max是不重复的最长字符数*/

if (Length == 0)
return 0;
for (i = 1; i < Length; i++)
{
for (j = l; j < i; j++)
if (s[j] == s[i])
{
l = j+1; /*如果两个字符相同,那么就让起点增加1,切忌写成l=i*/
break;
}
max = (max > i - l + 1) ? max : i - l + 1; /*r-l+1可以算出每一轮所比较的字符的个数*/
}
return max;
}

原文地址:https://www.cnblogs.com/yangyalong/p/9738675.html