解题思路如下:
首先考虑的是滑动窗口的算法,首先确定这字符串是否为空,然后开始遍历这个字符串。j 从第二个开始去遍历 ,遍历一个后,让 a[j] 这个元素去跟窗口里的元素进行比较,从窗口第一个开始比较,也就是 i 开始,< j 结束;如果出现相同的元素,那么就把i 定义到相同元素的下一个坐标。
int lengthOfLongestSubstring(char * s){
char *p,*q;
int i = 0,len = 1,k = 0,flag = 0,j;
q = s;
if(*q == NULL)return 0;
for (j =i+1;j < strlen(s);j++){
int g = i;
for(g ;g < j; g++){
if (s[j] == s[g]){
k = j-i;
len = len < k ? k : len;
i = g+1;
}
}
}
len = len < j-i ? j-i : len;
printf("%d",len);
return len ;
}