题意理解:
将整数转换为罗马数字
题目分析:
1. 分解出千位、百位、十位和个位;
2. 对应查表;
解题代码:
class Solution {
public:
string intToRoman(int num) {
if(num==0){
return 0;
}
string digitTable[4][10]={{"0","I","II","III","IV","V","VI","VII","VIII","IX"},{"0","X","XX","XXX","XL","L","LX"
,"LXX","LXXX","XC"},{"0","C","CC","CCC","CD","D",
"DC","DCC","DCCC","CM"},{"0","M","MM","MMM"}};
string ans="";
int t;
t=num/1000;
if(t){
ans+=digitTable[3][t];
}
t=(num%1000)/100;
if(t){
ans+=digitTable[2][t];
}
t=(num%100)/10;
if(t){
ans+=digitTable[1][t];
}
t=num%10;
if(t){
ans+=digitTable[0][t];
}
return ans;
}
};