Leetcode每日一刷-13( 罗马数字转整数)
class Solution:
def romanToInt(self, s):
dict = {'I':1, 'V':5, 'X':10, 'L':50, 'C':100, 'D':500, 'M':1000}
sum = 0
# 字符串取不到,会报错,我们这里让循环总数-1次保证i+1能取到
for i in range(len(s)-1):
# 根据观察发现特殊IV、IX等情况,前面比后面小,正常都是先大后小
if dict[s[i]] < dict[s[i + 1]]:
sum -= dict[s[i]]
else:
sum += dict[s[i]]
# 最后加上最后一个数
sum += dict[s[-1]]
return sum
pastr = 'MCMXCIV'
sol = Solution()
sol.romanToInt(pastr)