码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode13 Roman to Integer

时间:2015-01-28 09:57:36      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:leetcode   算法   java   

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

在对字符串的每一个字符处理过程中,我们不能走到最后一个字符的位置,因为每次循环我们都要把当前字符与下一个字符比较来确定符号,如果当前字符为最后一个字符,则会报空指针异常。

leetcode13 Roman to Integer

标签:leetcode   算法   java   

原文地址:http://blog.csdn.net/u010691636/article/details/43199781

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!