Leetcode-Roman to Integer-Python

Roman to Integer

將羅馬數字轉換爲阿拉伯數字。
Description

leetcode沒有說明具體的轉換規則,我是按照羅馬數字規則設置的。

解題思路
一個保存羅馬數字映射的字典:

roman = {'M': 1000,'D': 500 ,'C': 100,'L': 50,'X': 10,'V': 5,'I': 1}

規則:
- 如果一個元素值比右邊元素大,則加上這個元素;
- 如果一個元素值比右邊元素小,則減去這個元素;
- 始終加上末尾的元素;

    def romanToInt(self, s):
        """
        :type s: str
        :rtype: int
        """
        roman = {'M': 1000,'D': 500 ,'C': 100,'L': 50,'X': 10,'V': 5,'I': 1}

        num = 0
        for i in range(len(s)-1):            
            if roman[s[i]]>=roman[s[i+1]]:
                num = num + roman[s[i]]
            else:
                num = num - roman[s[i]]    

        return num+roman[s[-1]]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章