leetcode 12. Integer to Roman

//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 void main(String[] args) {
		int a = 20;
		String result = intToRoman(a);
		System.out.println(result);
	}
	
	 public static String intToRoman(int num) {
		 String result = "";
		 int digit = 0;
		 int number = 0;
		 String[][] roman = {														//定义罗马数字二维数组
				 {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"},
				 {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"},
				 {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"},
				 {"", "M", "MM", "MMM"}
		 };
		 while(num != 0){															//从个位开始判断num的值,并赋予相应的罗马数字值
			 number = num%10;
			 result = roman[digit][number]+result;									//高位在前
			 num = num/10;
			 digit++;
		 }
		 return result;
	 }
	
}


你可能感兴趣的:(LeetCode)