LeetCode(13)-- RomanToInteger
2017-07-18 10:17
387 查看
这道题和上一道题刚好相反,是将罗马数字转变为整数型数字。可以发现一个规则就是当前一个字母小于下一位时则代表减去该数,如“IV”,此处的‘I’表示-1,而“VII”此处的‘I’表示+1,且因为一个字母最多重复三次,所以尽可能出现一次小数在大数前面,即不会出现“IIV”。因此利用该规律编写代码如下:
class Solution { public: int romanToInt(string s) { map<char, int> romanToInt; int sum = 0; char Roman[] = {'I', 'V', 'X', 'L', 'C', 'D', 'M'}; int Integer[] = {1,5,10,50,100,500,1000}; for (int i = 0; i < 7; i++) { romanToInt.insert(make_pair(Roman[i], Integer[i])); } for (int j = 0; j < s.size(); j++) { if (romanToInt[s[j]] >= romanToInt[s[j + 1]]) sum += romanToInt[s[j]]; else sum -= romanToInt[s[j]]; } return sum; } };
相关文章推荐
- leetcode_13_Roman to Integer(C++)(easy)
- LeetCode 13 -- Roman to Integer
- [Leetcode] 13. Roman to Integer
- [leetcode-13] Roman to Integer
- [leetcode-13]Roman to Integer(C)
- 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
- leetcode[13]Roman to Integer
- leetcode 13: Roman to Integer
- 每日一练之Roman to integer & integer to Roman【LeetCode No.12,13】
- 【leetcode】String——Roman to Integer(13)
- LeetCode题解(13)--Roman to Integer
- LeetCode-----13. Roman to Integer
- Leetcode 13 Roman to Integer 字符串处理+STL
- LeetCode 13 -Roman to Integer ( JAVA )