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]]