include<stdio.h>
int main()
{
char s[100];
gets(s);
char *cur = s, *head = s;//创建头尾指针
int max = 0;
while (*cur) //当指针指向字符串中的'\0'结束循环
{
for (char* p = head; p < cur; ++p)//寻找重复字符,并组成新的字符串
if (*p == *cur)
{
head = p + 1;
break;
}
max = cur - head + 1 > max ? cur - head + 1 : max;//对比之前找到的子字符串长度最大值与本次循环找到的比较最大值
++cur;
}
printf("%d", max);
return 0;
}
大一新生尝试用双指针用法解决无重复字符串的最长字符串问题,
于 2022-12-05 20:38:31 首次发布