1.题目描述
读入一个字符串str,输出字符串str中的连续最长的数字串
输入描述:
个测试输入包含1个测试用例,一个字符串str,长度不超过255。
输出描述:
在一行内输出str中里连续最长的数字串。
示例1
输入
abcd12345ed125ss123456789
输出
123456789
2.代码展示
#include<iostream>
#include<string>
using namespace std;
int main ()
{
string s;
cin>>s;
string::iterator it=s.begin();
string ret;
while (it != s.end())
{
while(it!=s.end()&&!(*it-'0'>=0&&*it-'0'<=9))
{
++it;
}
string tmp;
while(it!=s.end()&&*it-'0'>=0&&*it-'0'<=9)
{
tmp+=*it;
++it;
}
if (tmp.size()>ret.size())
{
ret=tmp;
}
}
cout<<ret<<endl;
return 0;
}
3.解题分析
遍历字符串,是数字字符就通过临时对象存储起来,然后将长串保留到ret串中,非字符串直接跳过,遍历结束输出即可。