LeetCode : Roman to Integer
2012-12-06 16:34
323 查看
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
其实一个一个加就行,例如IV是4,但直接加的结果是6,这个时候减去2就行。
Input is guaranteed to be within the range from 1 to 3999.
其实一个一个加就行,例如IV是4,但直接加的结果是6,这个时候减去2就行。
class Solution { public: int romanToInt(string s) { // Start typing your C/C++ solution below // DO NOT write int main() function map<char, int> roman; roman.insert(make_pair('I', 1)); roman.insert(make_pair('V', 5)); roman.insert(make_pair('X', 10)); roman.insert(make_pair('L', 50)); roman.insert(make_pair('C', 100)); roman.insert(make_pair('D', 500)); roman.insert(make_pair('M', 1000)); int n = s.size(); int pre = 10000; int res = 0; int cur = 0; for(int i = 0 ;i < n; ++i){ cur = roman[s[i]]; res += cur; if(cur > pre){ res -= 2*pre; } pre = cur; } return res; } };
相关文章推荐
- 【leetcode】Roman to Integer | Integer to Roman
- [LeetCode]12. Integer to Roman(自学留存)
- LeetCode 12:"Integer to Roman"
- LeetCode Roman to Integer
- [LeetCode] Roman to Integer
- LeetCode (Roman to Integer)
- LeetCode 12 Integer to Roman(C,C++,Java,Python)
- leetcode_13_Roman to Integer(C++)(easy)
- LeetCode12~14 Integer to Roman/Roman to Integer/Longest Common Prefix
- LeetCode-----13. Roman to Integer
- Leetcode: Integer to Roman
- [置顶] [LeetCode] Roman to Integer
- leetcode Roman to Integer
- LeetCode题目:Roman to Integer
- 04-08 leetcode-12 Integer to Roman
- Leetcode || Roman to Integer
- LeetCode--No.13--Roman to Integer
- Leetcode Integer to Roman
- leetcode--integer_to_roman && roman_to_integer
- 【Leetcode】之Integer to Roman