integer to roman

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

将整数转成罗马数字。。下面答案比较厉害了。它将每个位置上(每位数)可能出现的情况先列出来,然后匹配

 

 

class Solution {
    public String intToRoman(int num) {
        
        String M[] = {"", "M", "MM", "MMM"};
        String C[] = {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"};
        String X[] = {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"};
        String I[] = {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};
        return M[num/1000] + C[(num%1000)/100] + X[(num%100)/10] + I[num%10];

    }
}

 

posted on 2017-12-24 17:15  夜的第八章  阅读(125)  评论(0编辑  收藏  举报

导航