题目链接:字符串中找出连续最长的数字串
题目描述
读入一个字符串str,输出字符串str中的连续最长的数字串
输入描述:
个测试输入包含1个测试用例,一个字符串str,长度不超过255。
输出描述:
在一行内输出str中里连续最长的数字串。
题目分析
根据题意,需要找出最长的连续的数字串。这里需要进行字符串的遍历,还需要两个容器存放字符串,其中一个tmp用来存放每次遇到的连续字符串,另外一个(ret)用来存放最长的字符串,如果tmp中存放的字符串比该字符串长,则把tmp中的字符串给ret,这样ret中存放的就是最长的字符串
代码实现
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str;//输入的字符串
string ret;//返回的最长的字符串
cin >> str;
size_t i = 0;
while(i<str.size())
{
string tmp;//用来存放遇到的字符串
while (i < str.size() && str[i] >= '0' && str[i] <= '9')
{
tmp += str[i];
i++;
}
if (tmp.size() > ret.size())
{
ret = tmp;
}
i++;
}
cout << ret << endl;
return 0;
}