给定一个罗马数字表示的字符串,将其转换成对应的整数
转换规则太长,略
例:
输入:"IV" 返回: 4
输入:"IX" 返回: 9
输入:"LVIII" 返回:58
解法:
class Solution:
def romanToInt(self, s: str) -> int:
t = 0
d = {'I':1,'V':5, 'X':10,'L':50, 'C':100, 'D':500, 'M':1000}
i = 0
lengh = len(s)
while i < lengh:
ss = s[i:i+2]
if ss:
if len(ss) > 1 and (d[ss[0]] < d[ss[1]]):
t += d[ss[1]] - d[ss[0]]
i += 2
else:
t += d[ss[0]]
i += 1
return t每次截取两个字符,
1.如果取到两个字符
a.第一个字符小于第二个字符,则此字符串的值为 两字符表示的整数之差(第二个字符减第一个字符)
b.第一个字符大于等于第二个字符,则第一个字符可以直接转换为对应的整数值加到结果中
2.如果只取到一个字符
则直接转换该字符对应的整数值即可