Python-羅馬數字轉整數
阿新 • • 發佈:2021-06-10
方式一:
class Solution(object): def romanToInt(self, s): """ :type s: str :rtype: int """ sum=0 nums=len(s) for i in range(nums): if i<nums-1: if s[i]=='I': if s[i+1]=='V' or s[i+1]=='X': sum=sum-1 else: sum=1+sum elif s[i]=='V': sum=sum+5 elif s[i]=='X': if s[i+1]=='L' or s[i+1]=='C': sum=sum-10 else: sum=sum+10 elif s[i]=='L': sum=sum+50 elif s[i]=='C': if s[i+1]=='D' or s[i+1]=='M': sum=sum-100 else: sum=sum+100 elif s[i]=='D': sum=sum+500 elif s[i]=='M': sum=sum+1000 else: if s[i]=='I': sum=1+sum elif s[i]=='V': sum=sum+5 elif s[i]=='X': sum=sum+10 elif s[i]=='L': sum=sum+50 elif s[i]=='C': sum=sum+100 elif s[i]=='D': sum=sum+500 elif s[i]=='M': sum=sum+1000 return sum
方式二:
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} sum=0 for i in range(len(s)): if i<len(s)-1 and a[s[i]]<a[s[i+1]]: sum=sum-a[s[i]] else: sum=sum+a[s[i]] return sum