class Solution:
def romanToInt(self, s):
"""
:type s: str
:rtype: int
"""
romanToInt = {'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000} # 定义一个字典存放罗马数字和整数
total = 0
for index, roman in enumerate(s):
if index < len(s)-1:
if (roman+s[index+1] == 'IV') | (roman+s[index+1] == 'IX') | (roman+s[index+1] == 'XL') | (roman+s[index+1] == 'XC') | (roman+s[index+1] == 'CD') | (roman+s[index+1] == 'CM'): # 判断是否存在那6种情况
total = total -romanToInt[roman] # 存在的话减
else:
total = total + romanToInt[roman] # 不存在的话加
else:
total = total + romanToInt[roman] # 加最后一个数
return total
print(Solution.romanToInt(Solution,"MMMCDXC"))
leetcode13:罗马数字转整数
猜你喜欢
转载自blog.csdn.net/weixin_43160613/article/details/82560325
今日推荐
周排行