题目:读入一个字符串str,输出字符串str中的连续最长的数字串。
输入描述:
个测试输入包含1个测试用例,一个字符串str,长度不超过255。
输出描述:
在一行内输出str中里连续最长的数字串。
示例1:
输入
abcd12345ed125ss123456789
输出
123456789
思路:
记录下每个数字串的长度以及其对应的数字串,当后面的数字串长度大于前面的就更新代表最长字符串和最长字符串长度。最后留下的就是最长的。
string max_digit_str(const string& s)
{
int i = 0;
int max = 0;//记录最长的数字串长度
string ret;//记录最长的数字串
int len = 0;//记录每个数字串长度
while (i < s.size())
{
string str;
len = 0;
while (isdigit(s[i]))//计算每一个数字串的长度,以及记下这个数字串
{
str += s[i];
len++;
i++;
}
if (len > max)
{
ret = str;
}
i++;
}
return ret;
}