leetCode(integer-to-roman)-整数转化为罗马数字表示
题目:给定一个整数,输出其罗马数字表示,整数的范围在1-3999之间。
Symbol Value I 1 V 5 X 10 L 50 C 100 D 500 M 1000
例如,2在罗马数字中被写成II,就是两个加在一起。12是写成,XII,也就是X+II。数字二十七是二十七,也就是XX+V+II。
罗马数字通常从左到右写得最大。然而,4的数字不是IIII。相反,数字4被写成IV,因为1在5之前减去它等于4。同样的原则也适用于9号,它被写成IX。有六种情况下使用减法:
I可以在V(5)和X(10)之前放置分别是4和9。
X可以放在L(50)和C(100)之前,分别是40和90。
C可以放置在D(500)和M(1000)之前,分别是400和900。
给定一个罗马数字,把它转换成整数。输入在从1到3999的范围内。
思路:
是上一篇博客的逆向过程,上面博客中的是罗马数字转化为整数,根据不同罗马字符表示的数字进行累加,那么这里只用进行累减,根据不同的值转化为不同的罗马字符表示就可以了。注意对上面6种特殊情况进行处理。