首页 > 其他 > 详细

LeetCode Integer to Roman

时间:2014-06-16 07:02:50      阅读:434      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
class Solution {
private:
    const static char* pattern[];
    const static char* roman_digit[];
public:
    string intToRoman(int num) {
        if (num < 1 || num > 3999) return "";
        string res("");
        int i=0;
        while (num) {
            res = getSingleRomanDigit(num % 10, i++) + res;
            num /= 10;
        }
        return res;
    }

    string getSingleRomanDigit(int digit, int mag) {
        if (digit == 0) return "";
        if (digit > 9 || digit < 1 || mag > 3 || mag < 0) {
            return "FORMAT ERROR";
        }
        string res;
        int pi = 0;
        for (int i=0; (pi = pattern[digit][i]) != \0; i++) {
            pi = pi - 0;
            res.push_back(roman_digit[mag][pi]);
        }
        return res;
    }
};
const char* Solution::pattern[] =  {"x", "0", "00", "000", "01", "1", "10", "100", "1000", "02"};
const char* Solution::roman_digit[] = {"IVX", "XLC", "CDM", "M"};
bubuko.com,布布扣

水一发

LeetCode Integer to Roman,布布扣,bubuko.com

LeetCode Integer to Roman

原文:http://www.cnblogs.com/lailailai/p/3783838.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!