[Leetcode] Integer to Roman

Given an integer, convert it to a roman numeral.

Input is guaranteed to be within the range from 1 to 3999.

 

Solution:

 1 public class Solution {
 2     public String intToRoman(int num) {
 3         StringBuilder result = new StringBuilder("");
 4         if (num < 1)
 5             return result.toString();
 6         int[] values = { 1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1 };
 7         String[] numerals = { "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X",
 8                 "IX", "V", "IV", "I" };
 9         for(int i=0;i<values.length;++i){
10             while(num>=values[i]){
11                 num-=values[i];
12                 result.append(numerals[i]);
13             }    
14         }
15         return result.toString();
16     }
17 }

 

posted @ 2014-10-27 01:12  Phoebe815  阅读(139)  评论(0编辑  收藏  举报