首页 > 代码库 > leetcode13 Roman to Integer

leetcode13 Roman to Integer

      这个题目是把罗马数字转换为整数,比如输入字符串 MCMLXXXIV,输出为整数1984。观测罗马数字的规律,我们得到,其实可以直接相加每个字符代表的整数即可,比如CLIII这个罗马数字对应的整数即为100+50+1+1+1=153。但是,若是两个字符代表一个数字时,我们就需要注意了,比如IV即为5-1=4。因此,我们得到规律,没读入字符串的一个字符,都将它与之后一个字符代表的数字比较,如果前者较小,则将符号改为负,比如,IV,I---1<V---5,因此整数为-1+5=4.

<script src="https://code.csdn.net/snippets/590743.js" type="text/javascript"></script>
在对字符串的每一个字符处理过程中,我们不能走到最后一个字符的位置,因为每次循环我们都要把当前字符与下一个字符比较来确定符号,如果当前字符为最后一个字符,则会报空指针异常。

leetcode13 Roman to Integer