leetcode 第3题【无重复字符的最长子串】
int lengthOfLongestSubstring(char * s)
{
char *tail = s, *head = s; /*头指针尾指针先指向第一个字符*/
int max = 0; /*储存长度的最大值*/
while (*tail) /*判断是否一开始就为空或者遍历结束*/
{
for (char *cur = head; cur < tail; cur++)
if (*cur == *tail) /*判断是否有重复元素*/
{
head = cur + 1; /*这里是因为字符型char占存储空间1,十进制表示两个字符型数组的地址只间隔十进制的1,能够用来循环和加减*/
break;
}
if(tail-head+1>max)
{
max=tail-head+1;
}
tail++; /*尾指针后移*/
}
return max;
}
知识点:字符串、指针、循环体