《 《《《 感覺不錯,關注一個再走。》》》》
題目描述:
讀入一個字符串str,輸出字符串str中的連續最長的數字串。
輸入描述:
個測試輸入包含1個測試用例,一個字符串str,長度不超過255。
輸出描述:
在一行內輸出str中裏連續最長的數字串。
示例1:
輸入
abcd12345ed125ss123456789
輸出
123456789
解題思想:
1.首先,我們看到這個題的首先想法是將字符串輸入,然後將現有的數字長度進行比較,找到最長的數字串,最後輸出結果,所以我們首先創建三個字符變量,【str , cur , ret】。
2.其次,就是求出這段 str 字符串的長度,由頭開始,將數字串保留下來,然後進行比較,將較長的字符串更新。
3.如果沒有之前的 cur 數字串長,那麼將現在的 cur 數字串清空,重新輸入字符串,進行比較。
4.最後,將 ret 結果輸出。
下面爲分析結果的代碼:
#include<iostream>
#include<string>
using namespace std;
int main()
{
//創建一個字符串str,數字長度cur,輸出結果的變量ret
string str, cur, ret;
cin >> str;
for (int i = 0; i <= str.length(); i++)
{
//將0-9之間連續的數字保存到cur上
if (str[i] >= '0' && str[i] <= '9')
{
cur += str[i];
}
else
{
//找出更長的字符串,更新之前的字符串
if (ret.size() < cur.size())
{
ret = cur;
}
//如果沒有,那麼將之前的清空
else
{
cur.clear();
}
}
}
cout << ret;
return 0;
}
這就是我的解題思路,如果還有其他問題,下面留言吖。
感覺不錯,關注一個再走。