字符串内部组合,情况比如简单,没有什么复杂的特判,别漏就行
class Solution {
public:
int romanToInt(string s) {
int len=s.length();
int res=0;
for(int i=0;i<len;i++)
{
if(s[i]=='I'&&s[i+1]=='V')
{
cout<<s[i]<<endl;
cout<<"4"<<endl;
res+=4;
i+=1;
}
else if(s[i]=='I'&&s[i+1]=='X')
{
cout<<s[i]<<endl;
cout<<"9"<<endl;
res+=9;
i+=1;
}
else if(s[i]=='X'&&s[i+1]=='L')
{
cout<<s[i]<<endl;
cout<<"40"<<endl;
res+=40;
i+=1;
}
else if(s[i]=='X'&&s[i+1]=='C')
{
cout<<s[i]<<endl;
cout<<"90"<<endl;
res+=90;
i+=1;
}
else if(s[i]=='C'&&s[i+1]=='D')
{
cout<<s[i]<<endl;
cout<<"400"<<endl;
res+=400;
i+=1;
}
else if(s[i]=='C'&&s[i+1]=='M')
{
cout<<s[i]<<endl;
cout<<"900"<<endl;
res+=900;
i+=1;
}
else if(s[i]=='V')
{
cout<<s[i]<<endl;
res+=5;
}
else if(s[i]=='L')
{
cout<<s[i]<<endl;
res+=50;
}
else if(s[i]=='D')
{
cout<<s[i]<<endl;
res+=500;
}
else if(s[i]=='M')
{
cout<<s[i]<<endl;
res+=1000;
}
else if(s[i]=='I') res+=1;
else if(s[i]=='X') res+=10;
else if(s[i]=='C') res+=100;
}
return res;
}
};