JasonChang

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

use stringbuffer

 1 public class Solution {
 2     public String intToRoman(int num) {
 3         // IMPORTANT: Please reset any member data you declared, as
 4         // the same Solution instance will be reused for each test case.
 5         StringBuffer result = new StringBuffer();
 6         String[][] mapping = {
 7             {"", "M", "MM", "MMM", "", "", "", "", "", ""}, //0 – 3000
 8             {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"}, //100 – 900
 9             {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"}, //10 – 90
10             {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"} //0 – 9    
11          };
12          int scale = 1000;
13          int i = 0;
14          while(num > 0){
15              int digit = num / scale;
16              result.append(mapping[i++][digit]);
17              num = num % scale;
18              scale /= 10;
19          }
20          return result.toString();
21         
22     }
23 }

 

posted on 2013-11-05 09:18  JasonChang  阅读(139)  评论(0编辑  收藏  举报