📅  最后修改于: 2023-12-03 15:14:25.856000             🧑  作者: Mango
本题共有50个测试用例,测试时间为30秒。考察点为字符串处理。需要在给定的字符串中查找最长的连续数字串。
使用指针扫描字符串,记录最长的连续数字串,最后输出即可。
#include <stdio.h>
int main()
{
char str[1000];
int left = 0, right = 0, len = 0, maxLen = 0, count = 0;
scanf("%s", str);
while(str[right] != '\0')
{
if(str[right] >= '0' && str[right] <= '9')
len++;
else
{
if(len > maxLen)
{
maxLen = len;
left = count - len;
}
len = 0;
}
count++;
right++;
}
if(len > maxLen)
{
maxLen = len;
left = count - len;
}
for(int i = left; i < left + maxLen; i++)
printf("%c", str[i]);
return 0;
}
本代码通过了LeetCode中的测试用例,测试用例如下:
输入:"abcd12345ed125ss123456789"
输出:"123456789"