Leetcode: Integer to Roman

来源:互联网 发布:搜狗输入法mac版 编辑:程序博客网 时间:2024/05/16 09:17

http://oj.leetcode.com/problems/integer-to-roman/


class Solution {public:    string intToRoman(int num, int pos){        char *cc="IVXLCDM  ";        string res;        char a=cc[pos*2],b=cc[pos*2+1],c=cc[pos*2+2];        if(num<=3){            for(int i=0;i<num;i++) res.push_back(a);        }        else if(num==4) {            res.push_back(a);            res.push_back(b);        }        else if(num<=8){            res.push_back(b);            for(int i=0;i<num-5;i++) res.push_back(a);        }        else if(num==9){            res.push_back(a);            res.push_back(c);        }        return res;    }    string intToRoman(int num) {        // Note: The Solution object is instantiated only once and is reused by each test case.            int len=0;        int numTmp=num;        while(numTmp!=0) {numTmp/=10;len++;}        vector<string> res;        for(int i=0;i<len;i++){            res.push_back(intToRoman(num%10,i));            num/=10;        }        string output;        for(int i=res.size()-1;i>=0;i--) output+=res[i];        return output;    }};


原创粉丝点击