LeetCode Task13.罗马数字转整数

题目

13. 罗马数字转整数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

解答

代码

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}
        b={'IV':4,'IX':9,'XL':40,'XC':90,'CD':400,'CM':900}
        result=0
        for k in b:
            n=s.count(k)
            if n:
                s=s.replace(k,'a')
                result+=b.get(k)
        for i in a:
            n=s.count(i)
            if n:
                result+=(a.get(i)*n)
        return result

思路

利用字典,先找到特殊情况的字母,加上数值并删除,再找一般情况的字母,加上数值。最后得到最终结果。

结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值