📜  C测验– 104 |问题5(1)

📅  最后修改于: 2023-12-03 15:14:25.856000             🧑  作者: Mango

C测验-104 | 问题5

简介

本题共有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"