题目
解答
代码
class Solution(object):
def romanToInt(self, s):
"""
:type s: str
:rtype: int
"""
a={'I':1,'V':5,'X':10,'L':50,'C':100,'D':500,'M':1000}
b={'IV':4,'IX':9,'XL':40,'XC':90,'CD':400,'CM':900}
result=0
for k in b:
n=s.count(k)
if n:
s=s.replace(k,'a')
result+=b.get(k)
for i in a:
n=s.count(i)
if n:
result+=(a.get(i)*n)
return result
思路
利用字典,先找到特殊情况的字母,加上数值并删除,再找一般情况的字母,加上数值。最后得到最终结果。