LeetCode (13)Roman to Integer
2017-04-19 20:04
411 查看
(13)Roman to Integer
题目:将一个罗马字符串转换成整数,范围在1~3999。根据上一道题,如果从罗马数字转换成整数,直接从头搜索就好了,需要遵循的规则只有一条。当我们遇到”M”直接加1000,遇到”D”直接加500,遇到”C”的时候判断下一个字符是否是”M”或者”D”,如果是则减去100,否则加100,”X”也是如此,以此类推,就可以获得一个扫描之后的数字,直接返回就可以了。代码如下:
class Solution { public: int romanToInt(string s) { int len = s.size(); int i = 0; int sum = 0; for(i = 0; i < len; i ++){ string str = s.substr(i, 2); char c = str[0], c_next = str[1]; if(c == 'M'){ sum += 1000; } else if(c == 'D'){ sum += 500; } else if(c == 'C'){ if(c_next == 'D'||c_next =='M'){ sum -= 100; } else{ sum += 100; } } else if(c == 'L'){ sum += 50; } else if(c == 'X'){ if(c_next == 'L'||c_next =='C'){ sum -= 10; } else{ sum += 10; } } else if(c == 'V'){ sum += 5; } else if(c == 'I'){ if(c_next == 'V'||c_next =='X'){ sum -= 1; } else{ sum += 1; } } } return sum; } };
相关文章推荐
- [leetcode 13] Roman to Integer
- LeetCode | #13 Roman to Integer
- LeetCode 13 - Roman to Integer
- leetcode_13题——Roman to Integer(string,数学问题)
- [Leetcode 13, Easy] Roman To Integer
- LeetCode 13 - Roman to Integer
- 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
- leetcode13 Roman to Integer
- LeetCode(13) RomanToInteger
- leetcode 13 Roman to Integer
- Leetcode[12-13] Roman to Integer & Integer to Roman(Java)
- LeetCode_13---Roman to Integer
- LeetCode 13 Roman to Integer (C,C++,Java,Python)