罗马数字包含以下七种字符:I
, V
, X
, L
,C
,D
和 M
。
用字典,将键值相配对,通过键的计算来获得表达的数字。
1 class Solution: 2 def romanToInt(self, s): 3 """ 4 :type s: str 5 :rtype: int 6 """ 7 if len(s) == 0: 8 return 0 9 value = { 10 'I' : 1, 11 'V' : 5, 12 'X' : 10, 13 'L' : 50, 14 'C' : 100, 15 'D' : 500, 16 'M' : 1000 17 } 18 if len(s) == 1: 19 return value[s] 20 sum = 0 21 for i in range(0,len(s)-1): 22 if value[s[i]]< value[s[i+1]]: 23 sum -= value[s[i]] 24 else: 25 sum += value[s[i]] 26 sum += value[s[-1]] 27 return sum