您的位置:首页 > 其它

leetcode 13. Roman to Integer

2017-06-15 20:07 239 查看
Given a roman numeral, convert it to an integer.

Input is guaranteed to be within the range from 1 to 3999.

解:罗马数字的规则可以搜搜

class Solution {
public:
int romanToInt(string s) {
int roman[24] = {};
roman['I' - 'A'] = 1;
roman['V' - 'A'] = 5;
roman['X' - 'A'] = 10;
roman['L' - 'A'] = 50;
roman['C' - 'A'] = 100;
roman['D' - 'A'] = 500;
roman['M' - 'A'] = 1000;
int sum = roman[s[s.length() - 1] - 'A'];
for (int i = s.length() - 2; i >= 0; --i) {
if (roman[s[i] - 'A'] < roman[s[i + 1] - 'A'])
sum -= roman[s[i] - 'A'];
else
sum += roman[s[i] - 'A'];
}
return sum;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode