【题目】
Given a roman numeral, convert it to an integer. Or, Given an integer, convert it to a roman numeral.
Input is guaranteed to be within the range from 1 to 3999.
【罗马数字】
1~9: {"I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};
10~90: {"X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"};
100~900: {"C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"};
1000~3000: {"M", "MM", "MMM"}.
【代码】
public class Solution {
public static String intToRoman(int num) {
String[] one = { "", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX" };
String[] ten = { "", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC" };
String[] hundred = { "", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM" };
String[] thousand = { "", "M", "MM", "MMM" };
String result = "";
if (num >= 1000 && num < 4000)
result = thousand[num / 1000] + hundred[num % 1000 / 100] + ten[num % 100 / 10] + one[num % 10];
else if (num >= 100 && num < 1000)
result = hundred[num / 100] + ten[num / 10 % 10] + one[num % 10];
else if (num >= 10 && num < 100)
result = ten[num / 10] + one[num % 10];
else if (num < 10 && num >= 1)
result = one[num];
return result;
}
}