LeetCode 13. Roman to Integer
2017-09-09 10:53
309 查看
Given a roman numeral, convert it to an integer.
Note:
Input is guaranteed to be within the range from 1 to 3999.
与之前的正好相反。
LeetCode 12. Integer to Roman
Note:
Input is guaranteed to be within the range from 1 to 3999.
与之前的正好相反。
LeetCode 12. Integer to Roman
class Solution { public: int romanToInt(string s) { /* M:1000;D:500;C:100;L:50;X:10;V:5;I:1 */ int len =s.size(); int m[30]; char n[30]; memset(n,0,sizeof(n)); memset(m,0,sizeof(m)); m['M'-'A'] = 1000;n['M'-'A'] = 'C'; m['D'-'A'] = 500;n['D'-'A'] = 'C'; m['C'-'A'] = 100;n['C'-'A'] = 'X'; m['L'-'A'] = 50;n['L'-'A'] = 'X'; m['X'-'A'] = 10;n['X'-'A'] = 'I'; m['V'-'A'] = 5;n['V'-'A'] = 'I'; m['I'-'A'] = 1; if(len==0){ return 0; } else{ int i; int ans = 0; for(i = len-1;i>=0;i--){ ans += m[s[i]-'A']; if(n[s[i]-'A']!=0&&i!=0) { if(s[i-1]==n[s[i]-'A']){ ans-=m[s[i-1]-'A']; i--; } } } return ans; } } };
相关文章推荐
- 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(Week2, Easy)
- [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
- [leetcode] 13. Roman to Integer
- LeetCode-12. Integer to Roman-13. Roman to Integer
- leetcode 13. Roman To Integer
- [LeetCode]13. Roman to Integer
- [勇者闯LeetCode] 13. Roman to Integer