
题目描述 Description
给出一个字符串,仅由字母(大写或小写)和数字组成。试找出并输出其中最大的一个数字。
 
输入描述 Input Description
一个字符串
 
输出描述 Output Description
这个字符串中最大的数字
 
样例输入 Sample Input
abc123d123456789012345678901f
样例输出 Sample Output
123456789012345678901
数据范围及提示 Data Size & Hint
字符串中的数字范围可能会超过long long
#include<iostream>
#include<string>
using namespace std;
int start,end,maxn;
int StringtoNum(string x){
    int sum=0;
    for(int i=0;i<x.size();i++){
        sum=sum*10+(x[i]-'0');
    }
    return sum;
}
int main(){
    string s;
    cin>>s;
    for(int i=1;i<s.size()-1;i++){
        if(s[i]>='0'&&s[i]<='9'&&(s[i-1]>='A'&&s[i-1]<='Z'||s[i-1]>='a'&&s[i-1]<='z'))
            start=i;
        if(s[i]>='0'&&s[i]<='9'&&(s[i+1]>='A'&&s[i+1]<='Z'||s[i+1]>='a'&&s[i+1]<='z')){
            end=i;
            string t=s.substr(start,end-start+1);
            int x=StringtoNum(t);
            maxn=max(maxn,x);
        }
    }
    cout<<maxn;
    return 0;
}
哪里错了?跪求大佬