无重复字符的最长子串

代码:

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;
}

 

posted on 2018-10-02 22:17  Beyond_YYL  阅读(147)  评论(0编辑  收藏  举报

导航