Roman to Integer
将罗马数字转换为阿拉伯数字。
Description
leetcode没有说明具体的转换规则,我是按照罗马数字规则设置的。
解题思路:
一个保存罗马数字映射的字典:
roman = {'M': 1000,'D': 500 ,'C': 100,'L': 50,'X': 10,'V': 5,'I': 1}
规则:
- 如果一个元素值比右边元素大,则加上这个元素;
- 如果一个元素值比右边元素小,则减去这个元素;
- 始终加上末尾的元素;
def romanToInt(self, s):
"""
:type s: str
:rtype: int
"""
roman = {'M': 1000,'D': 500 ,'C': 100,'L': 50,'X': 10,'V': 5,'I': 1}
num = 0
for i in range(len(s)-1):
if roman[s[i]]>=roman[s[i+1]]:
num = num + roman[s[i]]
else:
num = num - roman[s[i]]
return num+roman[s[-1]]