C/C++_2019_7_3(字符串中找出連續最長的數字串)

願你生命中有足夠的雲彩,足以造就一個美麗的黃昏。

題目描述
字符串中找出連續最長的數字串 | 時間限制: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
*/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章