您的位置:首页 > 其它

LeetCode-12-Integer to Roman(哈希)-Medium

2015-12-24 08:20 295 查看
题意理解:

将整数转换为罗马数字

题目分析:

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;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: