1.思路:首先将整数和罗马数字的对应关系写在map中,对罗马字符串进行分析:
*罗马字母对应的整数前一位要大于后一位字母对应的整数:则加上这个字母对应的数字
*罗马字母对应的整数前一位要小于后一位字母对应的整数:则减去当前字母对应的数字
*若是最后一位则直接相加
2.代码
class Solution:
def romanToInt(self, s):
sum=0
map={'M':1000,'D':500,'C':100,'L':50,'X':10,'V':5,'I':1}
for i in range(len(s)):
if i==len(s)-1:
sum+=map[s[i]]
break
elif map[s[i]]>=map[s[i+1]]:
sum+=map[s[i]]
else:
sum-=map[s[i]]
return sum