Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
相比Interger to Roman,本题明显要简单一些,按照规则直接翻译就好。
AC代码:
class Solution(object): def romanToInt(self, s): roman_to_int = {‘I‘: 1, ‘V‘: 5, ‘X‘: 10, ‘L‘: 50, ‘C‘: 100, ‘D‘: 500, ‘M‘: 1000} i, num = 0, 0 while i < len(s) - 1: if roman_to_int[s[i]] >= roman_to_int[s[i + 1]]: num += roman_to_int[s[i]] else: num -= roman_to_int[s[i]] i += 1 num += roman_to_int[s[i]] return num
原文:http://www.cnblogs.com/zhuifengjingling/p/5204122.html