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;
}
};
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 13. Roman to Integer
- python写算法题:leetcode: 13. Roman to Integer
- [LeetCode]--13. Roman to Integer
- LeetCode13. Roman to Integer
- LeetCode - 13. Roman to Integer
- LeetCode 13. Roman to Integer和12. Integer to Roman
- LeetCode - 13. Roman to Integer - 思考if-else与switch的比较 - ( C++ ) - 解题报告
- LeetCode_Easy心得:13. Roman to Integer (C语言)
- LeetCode *** 13. Roman to Integer
- [LeetCode]13. Roman to Integer
- [leetcode]13. Roman to Integer(Java)
- [leetcode] 13. Roman to Integer
- leetcode13. Roman to Integer
- leetcode 13. Roman To Integer
- [Leetcode] 13. Roman to Integer
- 【LeetCode】13. Roman to Integer
- LeetCode - 13. Roman to Integer
- [LeetCode] 13. Roman to Integer
- LeetCode | 13. Roman to Integer
- leetcode 13. Roman to Integer