class Solution {
public:
int GetScore(char c)
{
if(c =='I')
return 1;
if(c == 'V')
return 5;
if(c == 'X')
return 10;
if(c == 'L')
return 50;
if(c == 'C')
return 100;
if(c == 'D')
return 500;
if(c == 'M')
return 1000;
}
int romanToInt(string s) {
if(s.size() == 0)
return 0;
int result = GetScore(s[0]);
for(int i = 1;i<s.size();i++)
{
int si_1 = GetScore(s[i-1]), si = GetScore(s[i]);
if(si_1 < si)
{
result -=(si_1*2);
}
result += si;
}
return result;
}
};
[leetcode] Roman to Integer
最新推荐文章于 2025-08-23 18:37:54 发布