class Solution:
def romanToInt(self,s):
m=0
list=[]
num=0
for i in s:
if i=='I':
list.append(1)
if i=='V':
list.append(5)
if i=='X':
list.append(10)
if i=='L':
list.append(50)
if i=='C':
list.append(100)
if i=='D':
list.append(500)
if i=='M':
list.append(1000)
while m<len(list)-1:
if m==len(list)-1: #这一步不能省
num+=list[m]
break
if list[m]>=list[m+1]:
num+=list[m]
m+=1
continue
if list[m]<=list[m+1]: #不能直接开始对比,因为有可能只有一位罗马数字,即必须考虑到的特殊情况
num+=list[m+1]-list[m]
m+=2
return num
03-09 罗马数字转 整数
最新推荐文章于 2022-08-09 09:40:57 发布