leetcode 罗马数字转整数 python3

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

 

你可能感兴趣的:(leetcode)