願你生命中有足夠的雲彩,足以造就一個美麗的黃昏。
題目描述
字符串中找出連續最長的數字串 | 時間限制:1秒 | 內存限制:32768K
讀入一個字符串str,輸出字符串str中的連續最長的數字串 .
輸入描述
測試輸入包含1個測試用例,一個字符串str,長度不超過255。 輸出描述: 在一行內 輸出str中裏連續最長的數字串。
示例1: 輸入 abcd12345ed125ss123456789
輸出 123456789
解題思路
遍歷字符串,使用cur去記錄連續的數字串,如果遇到不是數字字符,則表示一個連續的數字串結束了,則將 數字串跟之前的數字串比較,如果更長,則更新更長的數字串更新到res.
程序代碼
#include<iostream>
#include<string>
using namespace std;
int main(){
string str,res,cur;
cin>>str;
for(int i=0;i<=str.length();i++){
// 數字+=到cur
if(str[i]>='0' && str[i]<='9'){
cur+=str[i];
}
else{
// 找出更長的字符串,則更新字符串
if(res.size() < cur.size()){
res=cur;
}
else{
cur.clear();
}
}
}
cout<<res;
return 0;
}
/*
abcd12345ed125ss123456789
str: abcd12345ed125ss123456789
cur: 1
cur: 12
cur: 123
cur: 1234
cur: 12345
cur: 1
cur: 12
cur: 125
cur: 1
cur: 12
cur: 123
cur: 1234
cur: 12345
cur: 123456
cur: 1234567
cur: 12345678
cur: 123456789
res: 123456789
*/