class Solution {
public:
int romanToInt(string s) {
int result=0;
while(s.length()>0){
switch (s[0]){
case 'C':
if(s[1]=='D'){
result += 400;
s=s.substr(2,s.length()-2);
break;
}
if(s[1]=='M'){
result += 900;
s=s.substr(2,s.length()-2);
break;
}
result += 100;
s=s.substr(1,s.length()-1);
break;
case 'X':
if(s[1]=='L'){
result += 40;
s=s.substr(2,s.length()-2);
break;
}
if(s[1]=='C'){
result += 90;
s=s.substr(2,s.length()-2);
break;
}
result += 10;
s=s.substr(1,s.length()-1);
break;
case 'I':
if(s[1]=='V'){
result += 4;
s=s.substr(2,s.length()-2);
break;
}
if(s[1]=='X'){
result += 9;
s=s.substr(2,s.length()-2);
break;
}
result += 1;
s=s.substr(1,s.length()-1);
break;
case 'V':
result += 5;
s=s.substr(1,s.length()-1);
break;
case 'L':
result += 50;
s=s.substr(1,s.length()-1);
break;
case 'D':
result += 500;
s=s.substr(1,s.length()-1);
break;
case 'M':
result += 1000;
s=s.substr(1,s.length()-1);
break;
}
}
return result;
}
};
leetcode 13. Roman to Integer
最新推荐文章于 2023-10-30 12:20:17 发布