题目链接:牛客网
题目描述:
读入一个字符串str,输出字符串str中的连续最长的数字串
输入描述:
1个测试输入包含1个测试用例,一个字符串str,长度不超过255。
输出描述:
在一行内输出str中里连续最长的数字串。
解题思路:
思路来源于牛客网卷积神经网络哦
从下标为0开始遍历字符串,没有出现数字下标+1,当遇到数字时进入数字循环直到不是数字为止,记录最长的数字串长度和最长的数字串,直到下标到达字符串长度。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
using namespace std;
int main(){
string ans = "", str;
cin>>str;
int i = 0, max_len = 0, strlen = str.length();
while(i < strlen){
if(str[i] < '0' || str[i] > '9') i++;
else{
int len = 0;
string tmp = "";
while(i < strlen && str[i] <= '9' && str[i] >= '0'){
tmp = tmp + str[i];
i++; len++;
}
if(len > max_len) {max_len = len; ans = tmp;}
}
}
cout<<ans<<endl;
return 0;
}