跟上个题差不多,特判一下IX和IV这种情况就行了
class Solution(object):
def romanToInt(self, s):
"""
:type s: str
:rtype: int
"""
romanMap={}
romanMap['I']=1
romanMap['V']=5
romanMap['X']=10
romanMap['L']=50
romanMap['C']=100
romanMap['D']=500
romanMap['M']=1000
Len=len(s)
if Len==0:
return 0
if Len==1:
return romanMap[s[0]]
if romanMap[s[0]]<romanMap[s[1]]:
return self.romanToInt(s[2:])+romanMap[s[1]]-romanMap[s[0]]
return self.romanToInt(s[1:])+romanMap[s[0]]